head	1.89;
access;
symbols
	pkgsrc-2026Q1:1.87.0.2
	pkgsrc-2026Q1-base:1.87
	pkgsrc-2025Q4:1.83.0.2
	pkgsrc-2025Q4-base:1.83
	pkgsrc-2025Q3:1.78.0.2
	pkgsrc-2025Q3-base:1.78
	pkgsrc-2025Q2:1.72.0.2
	pkgsrc-2025Q2-base:1.72
	pkgsrc-2025Q1:1.68.0.2
	pkgsrc-2025Q1-base:1.68
	pkgsrc-2024Q4:1.63.0.2
	pkgsrc-2024Q4-base:1.63
	pkgsrc-2024Q3:1.57.0.2
	pkgsrc-2024Q3-base:1.57
	pkgsrc-2024Q2:1.54.0.2
	pkgsrc-2024Q2-base:1.54
	pkgsrc-2024Q1:1.50.0.2
	pkgsrc-2024Q1-base:1.50
	pkgsrc-2023Q4:1.45.0.2
	pkgsrc-2023Q4-base:1.45
	pkgsrc-2023Q3:1.39.0.2
	pkgsrc-2023Q3-base:1.39
	pkgsrc-2023Q2:1.38.0.2
	pkgsrc-2023Q2-base:1.38
	pkgsrc-2023Q1:1.34.0.4
	pkgsrc-2023Q1-base:1.34
	pkgsrc-2022Q4:1.34.0.2
	pkgsrc-2022Q4-base:1.34
	pkgsrc-2022Q3:1.33.0.2
	pkgsrc-2022Q3-base:1.33
	pkgsrc-2022Q2:1.32.0.4
	pkgsrc-2022Q2-base:1.32
	pkgsrc-2022Q1:1.32.0.2
	pkgsrc-2022Q1-base:1.32
	pkgsrc-2021Q4:1.30.0.6
	pkgsrc-2021Q4-base:1.30
	pkgsrc-2021Q3:1.30.0.4
	pkgsrc-2021Q3-base:1.30
	pkgsrc-2021Q2:1.30.0.2
	pkgsrc-2021Q2-base:1.30
	pkgsrc-2021Q1:1.29.0.4
	pkgsrc-2021Q1-base:1.29
	pkgsrc-2020Q4:1.29.0.2
	pkgsrc-2020Q4-base:1.29
	pkgsrc-2020Q3:1.27.0.2
	pkgsrc-2020Q3-base:1.27
	pkgsrc-2020Q2:1.25.0.2
	pkgsrc-2020Q2-base:1.25
	pkgsrc-2020Q1:1.22.0.2
	pkgsrc-2020Q1-base:1.22
	pkgsrc-2019Q4:1.19.0.4
	pkgsrc-2019Q4-base:1.19
	pkgsrc-2019Q3:1.18.0.2
	pkgsrc-2019Q3-base:1.18
	pkgsrc-2019Q2:1.17.0.4
	pkgsrc-2019Q2-base:1.17
	pkgsrc-2019Q1:1.17.0.2
	pkgsrc-2019Q1-base:1.17
	pkgsrc-2018Q4:1.16.0.2
	pkgsrc-2018Q4-base:1.16
	pkgsrc-2018Q3:1.15.0.6
	pkgsrc-2018Q3-base:1.15
	pkgsrc-2018Q2:1.15.0.4
	pkgsrc-2018Q2-base:1.15
	pkgsrc-2018Q1:1.15.0.2
	pkgsrc-2018Q1-base:1.15
	pkgsrc-2017Q4:1.13.0.2
	pkgsrc-2017Q4-base:1.13
	pkgsrc-2017Q3:1.11.0.6
	pkgsrc-2017Q3-base:1.11
	pkgsrc-2017Q2:1.11.0.2
	pkgsrc-2017Q2-base:1.11
	pkgsrc-2017Q1:1.10.0.6
	pkgsrc-2017Q1-base:1.10
	pkgsrc-2016Q4:1.10.0.4
	pkgsrc-2016Q4-base:1.10
	pkgsrc-2016Q3:1.10.0.2
	pkgsrc-2016Q3-base:1.10
	pkgsrc-2016Q2:1.9.0.2
	pkgsrc-2016Q2-base:1.9
	pkgsrc-2016Q1:1.8.0.4
	pkgsrc-2016Q1-base:1.8
	pkgsrc-2015Q4:1.8.0.2
	pkgsrc-2015Q4-base:1.8
	pkgsrc-2015Q3:1.6.0.14
	pkgsrc-2015Q3-base:1.6
	pkgsrc-2015Q2:1.6.0.12
	pkgsrc-2015Q2-base:1.6
	pkgsrc-2015Q1:1.6.0.10
	pkgsrc-2015Q1-base:1.6
	pkgsrc-2014Q4:1.6.0.8
	pkgsrc-2014Q4-base:1.6
	pkgsrc-2014Q3:1.6.0.6
	pkgsrc-2014Q3-base:1.6
	pkgsrc-2014Q2:1.6.0.4
	pkgsrc-2014Q2-base:1.6
	pkgsrc-2014Q1:1.6.0.2
	pkgsrc-2014Q1-base:1.6
	pkgsrc-2013Q4:1.4.0.10
	pkgsrc-2013Q4-base:1.4
	pkgsrc-2013Q3:1.4.0.8
	pkgsrc-2013Q3-base:1.4
	pkgsrc-2013Q2:1.4.0.6
	pkgsrc-2013Q2-base:1.4
	pkgsrc-2013Q1:1.4.0.4
	pkgsrc-2013Q1-base:1.4
	pkgsrc-2012Q4:1.4.0.2
	pkgsrc-2012Q4-base:1.4
	pkgsrc-2012Q3:1.3.0.6
	pkgsrc-2012Q3-base:1.3
	pkgsrc-2012Q2:1.3.0.4
	pkgsrc-2012Q2-base:1.3
	pkgsrc-2012Q1:1.3.0.2
	pkgsrc-2012Q1-base:1.3
	pkgsrc-2011Q4:1.1.1.1.0.12
	pkgsrc-2011Q4-base:1.1.1.1
	pkgsrc-2011Q3:1.1.1.1.0.10
	pkgsrc-2011Q3-base:1.1.1.1
	pkgsrc-2011Q2:1.1.1.1.0.8
	pkgsrc-2011Q2-base:1.1.1.1
	pkgsrc-2011Q1:1.1.1.1.0.6
	pkgsrc-2011Q1-base:1.1.1.1
	pkgsrc-2010Q4:1.1.1.1.0.4
	pkgsrc-2010Q4-base:1.1.1.1
	pkgsrc-2010Q3:1.1.1.1.0.2
	pkgsrc-2010Q3-base:1.1.1.1
	pkgsrc-base:1.1.1.1
	TNF:1.1.1;
locks; strict;
comment	@# @;


1.89
date	2026.05.11.05.39.38;	author adam;	state Exp;
branches;
next	1.88;
commitid	JhVm3PfZcFOyemFG;

1.88
date	2026.03.26.06.31.24;	author adam;	state Exp;
branches;
next	1.87;
commitid	fR2nw5VWS9T00szG;

1.87
date	2026.02.10.09.04.26;	author adam;	state Exp;
branches;
next	1.86;
commitid	JZ0gK88BQjScgOtG;

1.86
date	2026.02.05.12.45.19;	author adam;	state Exp;
branches;
next	1.85;
commitid	W2eGcxWLaDGXDbtG;

1.85
date	2026.01.26.09.09.10;	author adam;	state Exp;
branches;
next	1.84;
commitid	mIdeUfTWA6ZJLSrG;

1.84
date	2025.12.29.11.43.22;	author adam;	state Exp;
branches;
next	1.83;
commitid	qOcpqT8rma8lwioG;

1.83
date	2025.12.14.09.29.14;	author adam;	state Exp;
branches;
next	1.82;
commitid	v9274xyxF1ThgmmG;

1.82
date	2025.11.18.16.33.21;	author adam;	state Exp;
branches;
next	1.81;
commitid	NHBfYqb5yHQCr3jG;

1.81
date	2025.11.10.11.42.14;	author adam;	state Exp;
branches;
next	1.80;
commitid	d2WiYYkrmuky50iG;

1.80
date	2025.10.23.15.15.54;	author adam;	state Exp;
branches;
next	1.79;
commitid	vpcHR5imMKgTQHfG;

1.79
date	2025.09.22.09.44.19;	author adam;	state Exp;
branches;
next	1.78;
commitid	oZHUD5beJ9WT0HbG;

1.78
date	2025.09.02.12.48.04;	author adam;	state Exp;
branches;
next	1.77;
commitid	Q646QDZFiL3NF89G;

1.77
date	2025.08.25.09.41.08;	author adam;	state Exp;
branches;
next	1.76;
commitid	XPWneMO5WiuzT58G;

1.76
date	2025.08.19.05.30.29;	author adam;	state Exp;
branches;
next	1.75;
commitid	pQlCVl4kCdmAHi7G;

1.75
date	2025.08.11.06.55.50;	author adam;	state Exp;
branches;
next	1.74;
commitid	QMBUaDLQu4uNqh6G;

1.74
date	2025.08.09.05.57.36;	author adam;	state Exp;
branches;
next	1.73;
commitid	BAFXnlq807BGa16G;

1.73
date	2025.07.02.12.48.21;	author adam;	state Exp;
branches;
next	1.72;
commitid	eMUCPvWsVGOrFa1G;

1.72
date	2025.06.13.09.01.11;	author adam;	state Exp;
branches;
next	1.71;
commitid	X3TU71r5xUcn1IYF;

1.71
date	2025.05.23.12.45.37;	author adam;	state Exp;
branches;
next	1.70;
commitid	u3RkDxnegIgdW1WF;

1.70
date	2025.05.22.05.57.51;	author adam;	state Exp;
branches;
next	1.69;
commitid	hxM6BZePJ8biIRVF;

1.69
date	2025.04.12.09.56.23;	author adam;	state Exp;
branches;
next	1.68;
commitid	Oqec4Pjwp4gSjKQF;

1.68
date	2025.02.12.09.32.38;	author adam;	state Exp;
branches;
next	1.67;
commitid	syZpSAiNa53k5aJF;

1.67
date	2025.02.10.16.30.38;	author adam;	state Exp;
branches;
next	1.66;
commitid	KTRO39JxK3gGsWIF;

1.66
date	2025.02.02.10.38.03;	author he;	state Exp;
branches;
next	1.65;
commitid	EKDLQP9mcF7HLSHF;

1.65
date	2025.01.21.15.32.31;	author he;	state Exp;
branches;
next	1.64;
commitid	7ILNdxzycPwyMmGF;

1.64
date	2024.12.26.17.33.53;	author adam;	state Exp;
branches;
next	1.63;
commitid	fWe9jNgptLY3i2DF;

1.63
date	2024.12.16.05.54.21;	author adam;	state Exp;
branches;
next	1.62;
commitid	LXIv3DEqPhl0KGBF;

1.62
date	2024.11.25.20.25.50;	author adam;	state Exp;
branches;
next	1.61;
commitid	aOKk5rJvIDxPe4zF;

1.61
date	2024.11.16.16.35.11;	author adam;	state Exp;
branches;
next	1.60;
commitid	d5ZFUZfASenAfTxF;

1.60
date	2024.11.11.07.28.05;	author wiz;	state Exp;
branches;
next	1.59;
commitid	1fBDq3LwS98NncxF;

1.59
date	2024.10.24.05.20.05;	author adam;	state Exp;
branches;
next	1.58;
commitid	KIxuNe3EkqCSfSuF;

1.58
date	2024.10.14.05.08.23;	author adam;	state Exp;
branches;
next	1.57;
commitid	oyw956ukYYFJvAtF;

1.57
date	2024.08.06.12.33.08;	author adam;	state Exp;
branches;
next	1.56;
commitid	PPT3Phgu0LLRbLkF;

1.56
date	2024.07.15.09.35.58;	author adam;	state Exp;
branches;
next	1.55;
commitid	THFR7zOMV6TWUUhF;

1.55
date	2024.06.26.19.37.33;	author adam;	state Exp;
branches;
next	1.54;
commitid	tj1de8omyGvcRwfF;

1.54
date	2024.06.05.08.03.00;	author adam;	state Exp;
branches;
next	1.53;
commitid	bGst43EB0MwLGLcF;

1.53
date	2024.05.27.14.48.09;	author adam;	state Exp;
branches;
next	1.52;
commitid	EYpqGf25gycHdEbF;

1.52
date	2024.05.05.18.28.05;	author adam;	state Exp;
branches;
next	1.51;
commitid	cLGAyxIKqFvZ8Q8F;

1.51
date	2024.04.24.12.54.37;	author adam;	state Exp;
branches;
next	1.50;
commitid	dVUKjK4oLQGsEo7F;

1.50
date	2024.03.17.12.57.37;	author adam;	state Exp;
branches;
next	1.49;
commitid	U8nSFJXV4ifhTv2F;

1.49
date	2024.02.25.22.50.53;	author adam;	state Exp;
branches;
next	1.48;
commitid	LEC2xUgyneCBQRZE;

1.48
date	2024.02.22.13.56.59;	author adam;	state Exp;
branches;
next	1.47;
commitid	i5BNefbcylDsZqZE;

1.47
date	2024.01.27.07.40.34;	author adam;	state Exp;
branches;
next	1.46;
commitid	k6ncyrv4etm9K3WE;

1.46
date	2023.12.31.19.50.13;	author adam;	state Exp;
branches;
next	1.45;
commitid	kiau3DjWqz7fEESE;

1.45
date	2023.12.15.05.25.38;	author adam;	state Exp;
branches;
next	1.44;
commitid	iwXt3xVmLV7xnwQE;

1.44
date	2023.11.26.10.21.37;	author adam;	state Exp;
branches;
next	1.43;
commitid	RRKQulrbFeu2D6OE;

1.43
date	2023.10.28.19.56.58;	author wiz;	state Exp;
branches;
next	1.42;
commitid	jP8MYROLWZ3yJqKE;

1.42
date	2023.10.23.06.37.39;	author wiz;	state Exp;
branches;
next	1.41;
commitid	4YdPmMYgk9hutIJE;

1.41
date	2023.10.02.19.03.13;	author adam;	state Exp;
branches;
next	1.40;
commitid	WBxZ79XUWXjwh5HE;

1.40
date	2023.09.28.16.05.52;	author adam;	state Exp;
branches;
next	1.39;
commitid	K9fOrhoSye9DqyGE;

1.39
date	2023.08.25.11.07.20;	author adam;	state Exp;
branches;
next	1.38;
commitid	qGNPEOvCWE00S9CE;

1.38
date	2023.05.30.04.13.53;	author adam;	state Exp;
branches;
next	1.37;
commitid	89JEgqIcwQbwnWqE;

1.37
date	2023.05.24.06.43.40;	author adam;	state Exp;
branches;
next	1.36;
commitid	yQinR0cYqlMRobqE;

1.36
date	2023.05.05.10.34.25;	author wiz;	state Exp;
branches;
next	1.35;
commitid	zZFEASXLJjOKhLnE;

1.35
date	2023.03.29.09.34.06;	author wiz;	state Exp;
branches;
next	1.34;
commitid	dE79P0WicMkX80jE;

1.34
date	2022.11.08.13.39.17;	author adam;	state Exp;
branches;
next	1.33;
commitid	3fQzcyoF7pq22U0E;

1.33
date	2022.08.24.09.36.50;	author wiz;	state Exp;
branches;
next	1.32;
commitid	cCY07Pb6JqqF77RD;

1.32
date	2022.01.05.15.41.02;	author wiz;	state Exp;
branches;
next	1.31;
commitid	FQ77UruBIUsgzsnD;

1.31
date	2022.01.04.20.52.58;	author wiz;	state Exp;
branches;
next	1.30;
commitid	CYyhdK9qtoffkmnD;

1.30
date	2021.05.18.15.26.46;	author adam;	state Exp;
branches;
next	1.29;
commitid	k1wHFRBapIsYWDTC;

1.29
date	2020.12.21.09.33.05;	author adam;	state Exp;
branches;
next	1.28;
commitid	6LQiFoWjeNOGKAAC;

1.28
date	2020.10.22.09.41.18;	author adam;	state Exp;
branches;
next	1.27;
commitid	NTwr9Xl55Z06JSsC;

1.27
date	2020.07.27.08.15.15;	author adam;	state Exp;
branches;
next	1.26;
commitid	K7ZdgtUh8tiV2HhC;

1.26
date	2020.07.06.15.42.00;	author adam;	state Exp;
branches;
next	1.25;
commitid	cavZHcsw5DdLb2fC;

1.25
date	2020.05.16.09.09.04;	author adam;	state Exp;
branches;
next	1.24;
commitid	lbV780UY4myZEr8C;

1.24
date	2020.05.04.04.39.15;	author rillig;	state Exp;
branches;
next	1.23;
commitid	UfVyo8AENR6FxS6C;

1.23
date	2020.04.29.10.45.09;	author adam;	state Exp;
branches;
next	1.22;
commitid	yrshkJ9M1poFJg6C;

1.22
date	2020.03.17.11.04.13;	author adam;	state Exp;
branches;
next	1.21;
commitid	yuHDFbBCcS2TdK0C;

1.21
date	2020.01.26.09.22.31;	author adam;	state Exp;
branches;
next	1.20;
commitid	H5EC6MwbIX6vibUB;

1.20
date	2020.01.03.13.17.52;	author adam;	state Exp;
branches;
next	1.19;
commitid	Fq7KTA8R2iOhlfRB;

1.19
date	2019.12.15.11.48.31;	author adam;	state Exp;
branches;
next	1.18;
commitid	tQbL5A6oGtAosNOB;

1.18
date	2019.08.05.19.31.44;	author adam;	state Exp;
branches;
next	1.17;
commitid	ftWMtXfvsrptgSxB;

1.17
date	2019.03.11.13.55.28;	author adam;	state Exp;
branches;
next	1.16;
commitid	SmI0xDnMBog38XeB;

1.16
date	2018.11.27.16.31.09;	author adam;	state Exp;
branches;
next	1.15;
commitid	74MB6PEc5HkFkB1B;

1.15
date	2018.02.12.08.06.56;	author adam;	state Exp;
branches;
next	1.14;
commitid	ZmvTTZCA7WhyNxqA;

1.14
date	2018.02.05.16.13.19;	author adam;	state Exp;
branches;
next	1.13;
commitid	2bHc7pNAj7ytIGpA;

1.13
date	2017.12.13.08.16.08;	author adam;	state Exp;
branches;
next	1.12;
commitid	2yv1wN2LknZxOHiA;

1.12
date	2017.11.06.10.37.32;	author adam;	state Exp;
branches;
next	1.11;
commitid	kv8OVA6qM7fEMXdA;

1.11
date	2017.05.17.11.39.58;	author adam;	state Exp;
branches;
next	1.10;
commitid	LmXSGt48kc3QGJRz;

1.10
date	2016.08.28.15.48.29;	author wiz;	state Exp;
branches;
next	1.9;
commitid	rTBn3EBawNhbu5kz;

1.9
date	2016.06.08.17.43.24;	author wiz;	state Exp;
branches;
next	1.8;
commitid	z4yEulWexjFaJG9z;

1.8
date	2015.11.07.21.43.21;	author wiz;	state Exp;
branches;
next	1.7;
commitid	eJdifv8qsRoSVcIy;

1.7
date	2015.11.07.19.12.09;	author wiz;	state Exp;
branches;
next	1.6;
commitid	AaFKRvI3rff56cIy;

1.6
date	2014.01.26.00.52.04;	author wiz;	state Exp;
branches;
next	1.5;
commitid	PeYW60v5LKMaTymx;

1.5
date	2014.01.26.00.39.40;	author wiz;	state Exp;
branches;
next	1.4;
commitid	dCut2I6QE9GMPymx;

1.4
date	2012.10.31.11.19.29;	author asau;	state Exp;
branches;
next	1.3;

1.3
date	2012.02.17.18.19.30;	author drochner;	state Exp;
branches;
next	1.2;

1.2
date	2012.02.09.12.42.37;	author obache;	state Exp;
branches;
next	1.1;

1.1
date	2010.08.10.17.03.39;	author drochner;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	2010.08.10.17.03.39;	author drochner;	state Exp;
branches;
next	;


desc
@@


1.89
log
@py-coverage: updated to 7.14.0

Version 7.14.0 — 2026-05-10

- Feature: now when running one of the reporting commands, if there are
  parallel data files that need combining, they will be implicitly combined
  before creating the report. There is no option to avoid the combination; let
  us know if you have a use case that requires it.  Thanks, `Tim Hatch
  <pull 2162_>`_. Closes `issue 1781`_.

- Fix: the output from ``combine`` was too verbose, listing each file
  considered. Now it shows a single line with the counts of files combined,
  files skipped, and files with errors. The ``-q`` flag suppresses this line.
  The old detailed lines are available with the new ``--debug=combine`` option.

- Fix: running a Python file through a symlink now sets the sys.path correctly,
  matching regular Python behavior. Fixes `issue 2157`_.

- Fix: ``Collector.flush_data`` could fail with "RuntimeError: Set changed
  size during iteration" when a tracer in another thread added a line to the
  per-file set that ``add_lines`` (or ``add_arcs``) was iterating. The values
  passed to ``CoverageData`` are now snapshotted via ``dict.copy()`` and
  ``set.copy()``, which are atomic under the GIL. Thanks, `Alex Vandiver <pull
  2165_>`_.

- Fix: the soft keyword ``lazy`` is now bolded in HTML reports.

- We are no longer testing eventlet support. Eventlet started issuing stern
  deprecation warnings that break our tests. Our support code is still there.
@
text
@# $NetBSD: Makefile,v 1.88 2026/03/26 06:31:24 adam Exp $

DISTNAME=	coverage-7.14.0
PKGNAME=	${PYPKGPREFIX}-${DISTNAME}
CATEGORIES=	devel python
MASTER_SITES=	${MASTER_SITE_PYPI:=c/coverage/}

MAINTAINER=	kamel.derouiche@@gmail.com
HOMEPAGE=	https://coverage.readthedocs.io/
COMMENT=	Python module that measures code coverage for Python
LICENSE=	apache-2.0

TOOL_DEPENDS+=	${PYPKGPREFIX}-setuptools>=78:../../devel/py-setuptools
TEST_DEPENDS+=	${PYPKGPREFIX}-flaky>=3.7.0:../../devel/py-flaky
TEST_DEPENDS+=	${PYPKGPREFIX}-hypothesis>=4.57.1:../../devel/py-hypothesis
TEST_DEPENDS+=	${PYPKGPREFIX}-test-xdist>=1.34.0:../../devel/py-test-xdist

.include "../../lang/python/pyversion.mk"
.if ${PYTHON_VERSION} < 311
DEPENDS+=	${PYPKGPREFIX}-tomli-[0-9]*:../../textproc/py-tomli
.endif

post-install:
	${RM} -f ${DESTDIR}${PREFIX}/bin/coverage ${DESTDIR}${PREFIX}/bin/coverage3

# Testing: AssertionError: assert None
# 'fixed' by running as root, needs to find a writeable directory

.include "../../lang/python/batteries-included.mk"
.include "../../lang/python/wheel.mk"
.include "../../mk/bsd.pkg.mk"
@


1.88
log
@py-coverage: updated to 7.13.5

Version 7.13.5 — 2026-03-17

- Fix: `issue 2138`_ describes a memory leak that happened when repeatedly
  using the Coverage API with in-memory data. This is now fixed.

- Fix: the markdown-formatted coverage report didn't fully escape special
  characters in file paths (`issue 2141`_). This would be very unlikely to
  cause a problem, but now it's done properly, thanks to `Ellie Ayla
  <pull 2142_>`_.

- Fix: the C extension wouldn't build on VS2019, but now it does (`issue
  2145`_).
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.87 2026/02/10 09:04:26 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.13.5
@


1.87
log
@py-coverage: updated to 7.13.4

7.13.4

- Fix: the third-party code fix in 7.13.3 required examining the parent
  directories where coverage was run. In the unusual situation that one of the
  parent directories is unreadable, a PermissionError would occur, as
  described in `issue 2129`_. This is now fixed.

- Fix: in test suites that change sys.path, coverage.py could fail with
  "RuntimeError: Set changed size during iteration" as described and fixed in
  `pull 2130`_. Thanks, Noah Fatsi.

- We now publish ppc64le wheels, thanks to `Pankhudi Jain <pull 2121_>`_.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.86 2026/02/05 12:45:19 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.13.4
@


1.86
log
@py-coverage: updated to 7.13.3

Version 7.13.3 — 2026-02-03

- Fix: in some situations, third-party code was measured when it shouldn't have
  been, slowing down test execution. This happened with layered virtual
  environments such as uv sometimes makes. The problem is fixed, closing `issue
  2082`_. Now any directory on sys.path that is inside a virtualenv is
  considered third-party code.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.85 2026/01/26 09:09:10 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.13.3
@


1.85
log
@py-coverage: updated to 7.13.2

Version 7.13.2 — 2026-01-25

- Fix: when Python is installed via symlinks, for example with Homebrew, the
  standard library files could be incorrectly included in coverage reports.
  This is now fixed, closing `issue 2115`_.

- Fix: if a data file is created with no read permissions, the combine step
  would fail completely. Now a warning is issued and the file is skipped.
  Closes `issue 2117`_.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.84 2025/12/29 11:43:22 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.13.2
@


1.84
log
@py-coverage: updated to 7.13.1

Version 7.13.1 — 2025-12-28

- Added: the JSON report now includes a ``"start_line"`` key for function and
  class regions, indicating the first line of the region in the source. Closes
  `issue 2110`_.

- Added: The ``debug data`` command now takes file names as arguments on the
  command line, so you can inspect specific data files without needing to set
  the ``COVERAGE_FILE`` environment variable.

- Fix: the JSON report used to report module docstrings as executed lines,
  which no other report did, as described in `issue 2105`_. This is now fixed,
  thanks to Jianrong Zhao.

- Fix: coverage.py uses a more disciplined approach to detecting where
  third-party code is installed, and avoids measuring it. This shouldn't change
  any behavior. If you find that it does, please get in touch.

- Performance: data files that will be combined now record their hash as part
  of the file name. This lets us skip duplicate data more quickly, speeding the
  combining step.

- Docs: added a section explaining more about what is considered a missing
  branch and how it is reported: :ref:`branch_explain`, as requested in `issue
  1597`_. Thanks to `Ayisha Mohammed <pull 2092_>`_.

- Tests: the test suite misunderstood what core was being tested if
  ``COVERAGE_CORE`` wasn't set on 3.14+. This is now fixed, closing `issue
  2109`_.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.83 2025/12/14 09:29:14 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.13.1
@


1.83
log
@py-coverage: updated to 7.13.0

Version 7.13.0 — 2025-12-08

- Feature: coverage.py now supports :file:`.coveragerc.toml` configuration
  files. These files use TOML syntax and take priority over
  :file:`pyproject.toml` but lower priority than :file:`.coveragerc` files.
  Closes `issue 1643`_ thanks to `Olena Yefymenko <pull 1952_>`_.

- Fix: we now include a permanent .pth file which is installed with the code,
  fixing `issue 2084`_.  In 7.12.1b1 this was done incorrectly: it didn't work
  when using the source wheel (``py3-none-any``).  This is now fixed. Thanks,
  `Henry Schreiner <pull 2100_>`_.

- Deprecated: when coverage.py is installed, it creates three command entry
  points: ``coverage``, ``coverage3``, and ``coverage-3.10`` (if installed for
  Python 3.10). The second and third of these are not needed and will
  eventually be removed. They still work for now, but print a message about
  their deprecation.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.82 2025/11/18 16:33:21 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.13.0
@


1.82
log
@py-coverage: updated to 7.12.0

Version 7.12.0 — 2025-11-18

- The HTML report now shows separate coverage totals for statements and
  branches, as well as the usual combined coverage percentage. Thanks to Ryuta
  Otsuka for the `discussion <issue 2081_>`_ and the `implementation
  <pull 2085_>`_.

- The JSON report now includes separate coverage totals for statements and
  branches, thanks to `Ryuta Otsuka <pull 2090_>`_.

- Fix: ``except*`` clauses were not handled properly under the "sysmon"
  measurement core, causing KeyError exceptions as described in `issue 2086`_.
  This is now fixed.

- Fix: we now defend against aggressive mocking of ``open()`` that could cause
  errors inside coverage.py.  An example of a failure is in `issue 2083`_.

- Fix: in unusual cases where a test suite intentionally exhausts the system's
  file descriptors to test handling errors in ``open()``, coverage.py would
  fail when trying to open source files, as described in `issue 2091`_.  This
  is now fixed.

- A small tweak to the HTML report: file paths now use thin spaces around
  slashes to make them easier to read.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.81 2025/11/10 11:42:14 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.12.0
@


1.81
log
@py-coverage: updated to 7.11.3

Version 7.11.3 — 2025-11-09

- Fix: the 7.11.1 changes meant that conflicts between a requested measurement
  core and other settings would raise an error. This was a breaking change from
  previous behavior, as reported in `issue 2076`_ and `issue 2078`_.

  The previous behavior has been restored: when the requested core conflicts
  with other settings, another core is used instead, and a warning is issued.

- For contributors: the repo has moved from Ned's `nedbat GitHub account`_ to
  the `coveragepy GitHub organization`_. The default branch has changed from
  master to main.


Version 7.11.2 — 2025-11-08

- Fix: using the "sysmon" measurement core in 7.11.1, if Python code was
  claimed to come from a non-Python file, a ``NotPython`` exception could be
  raised. This could happen for example with Jinja templates compiled to
  Python, as reported in `issue 2077`_. This is now fixed.

- Doc: corrected the first entry in the 7.11.1 changelog.


Version 7.11.1 — 2025-11-07

- Fix: some chanages to details of how the measurement core is chosen, and how
  conflicting settings are handled. The "sysmon" core cannot be used with some
  conurrency settings, with dynamic context, and in Python 3.12/3.13, with
  branch measurement.

  - If the core is not specified and defaults to "sysmon" (Python 3.14+), but
    other settings conflict with sysmon, then the "ctrace" core will be used
    instead with no warning. For concurrency conflicts, this used to produce an
    error, as described in `issue 2064`_.

  - If the "sysmon" core is explicitly requested in your configuration, but
    other settings conflict, an error is now raised. This used to produce a
    warning.

- Fix: some multi-line case clauses or for loops (and probably other
  constructs) could cause incorrect claims of missing branches with the
  sys.monitoring core, as described in `issue 2070`_. This is now fixed.

- Fix: when running in pytest under coverage, a ``breakpoint()`` would stop in
  the wrong frame, one level down from where it should, as described in `issue
  1420`_. This was due to a coverage change in v6.4.1 that seemed to give a
  slight performance improvement, but I couldn't reproduce the performance
  gain, so it's been reverted, fixing the debugger problem.

- A new debug option ``--debug=core`` shows which core is in use and why.

- Split ``sqlite`` debugging information out of the ``sys`` :ref:`coverage
  debug <cmd_debug>` and :ref:`cmd_run_debug` options since it's bulky and not
  very useful.

- Updated the :ref:`howitworks` page to better describe the three different
  measurement cores.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.80 2025/10/23 15:15:54 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.11.3
@


1.80
log
@py-coverage: updated to 7.11.0

Version 7.11.0 — 2025-10-15

- Dropped support for Python 3.9, declared support for Python 3.15 alpha.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.79 2025/09/22 09:44:19 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.11.0
@


1.79
log
@py-coverage: updated to 7.10.7

Version 7.10.7 — 2025-09-21

- Performance: with branch coverage in large files, generating HTML, JSON, or
  LCOV reports could take far too long due to some quadratic behavior when
  creating the function and class index pages.  This is now fixed, closing
  `issue 2048`_.  Thanks to Daniel Diniz for help diagnosing the problem.

- Most warnings and a few errors now have links to a page in the docs
  explaining the specific message.  Closes `issue 1921`_.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.78 2025/09/02 12:48:04 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.10.7
@


1.78
log
@py-coverage: updated to 7.10.6

Version 7.10.6 — 2025-08-29

- Fix: ``source`` directories were not properly communicated to subprocesses
  that ran in different directories, as reported in `issue 1499`_.  This is now
  fixed.

- Performance: `Alex Gaynor continues fine-tuning <pull 2038_>`_ the speed of
  combination, especially with many contexts.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.77 2025/08/25 09:41:08 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.10.6
@


1.77
log
@py-coverage: updated to 7.10.5

7.10.5
- Big speed improvements for ``coverage combine``: it's now about twice as
  fast!
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.76 2025/08/19 05:30:29 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.10.5
@


1.76
log
@py-coverage: updated to 7.10.4

Version 7.10.4 — 2025-08-16

- Added ``patch = fork`` for times when the built-in forking support is
  insufficient.

- Fix: ``patch = execv`` also inherits the entire coverage configuration now.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.75 2025/08/11 06:55:50 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.10.4
@


1.75
log
@py-coverage: updated to 7.10.3

Version 7.10.3 — 2025-08-10

- Fixes for ``patch = subprocess``:

  - If subprocesses spawned yet more subprocesses simultaneously, some coverage
    could be missed.  This is now fixed, closing `issue 2024`_.

  - If subprocesses were created in other directories, their data files were
    stranded there and not combined into the totals, as described in `issue
    2025`_.  This is now fixed.

  - On Windows (or maybe only some Windows?) the patch would fail with a
    ``ModuleNotFound`` error trying to import coverage.  This is now fixed,
    closing `issue 2022`_.

  - Originally only options set in the coverage configuration file would apply
    to subprocesses.  Options set on the ``coverage run`` command line (such as
    ``--branch``) wouldn't be communicated to the subprocesses.  This could
    lead to combining failures, as described in `issue 2021`_. Now the entire
    configuration is used in subprocesses, regardless of its origin.

  - Added ``debug=patch`` to help diagnose problems.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.74 2025/08/09 05:57:36 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.10.3
@


1.74
log
@py-coverage: updated to 7.10.2

Version 7.10.2 — 2025-08-03

- Fix: some code with NOP bytecodes could report missing branches that are
  actually executed. This is now fixed, closing `issue 1999`_. Python 3.9
  still shows the problem.


Version 7.10.1 — 2025-07-27

- Fix: the exclusion for ``if TYPE_CHECKING:`` was wrong: it marked the branch
  as partial, but it should have been a line exclusion so the entire clause
  would be excluded. Improves `issue 831`_.

- Fix: changed where .pth files are written for ``patch = subprocess``, closing
  `issue 2006`_.


Version 7.10.0 — 2025-07-24

- A new configuration option: ":ref:`config_run_patch`" specifies named patches
  to work around some limitations in coverage measurement.  These patches are
  available:

  - ``patch = _exit`` lets coverage save its data even when :func:`os._exit()
    <python:os._exit>` is used to abruptly end the process.  This closes
    long-standing `issue 310`_ as well as its duplicates: `issue 312`_, `issue
    1673`_, `issue 1845`_, and `issue 1941`_.

  - ``patch = subprocess`` measures coverage in Python subprocesses created
    with :mod:`subprocess`, :func:`os.system`, or one of the :func:`execv
    <python:os.execl>` or :func:`spawnv <python:os.spawnl>` family of
    functions. Closes old `issue 367`_ and duplicate `issue 378`_.

  - ``patch = execv`` adjusts the :func:`execv <python:os.execl>` family of
    functions to save coverage data before ending the current program and
    starting the next. Not available on Windows. Closes `issue 43`_ after 15
    years!

- The HTML report now dimly colors subsequent lines in multi-line statements.
  They used to have no color.  This gives a better indication of the amount of
  code missing in the report.  Closes `issue 1308`_.

- Two new exclusion patterns are part of the defaults: ``...`` is automatically
  excluded as a line and ``if TYPE_CHECKING:`` is excluded as a branch.  Closes
  `issue 831`_.

- A new command-line option: ``--save-signal=USR1`` specifies a signal that
  coverage.py will listen for.  When the signal is sent, the coverage data will
  be saved.  This makes it possible to save data from within long-running
  processes.  Thanks, `Arkady Gilinsky <pull 1998_>`_.

- A new configuration option: ":ref:`config_report_partial_also`" is a list of
  regexes to add as pragmas for partial branches.  This parallels the
  ":ref:`config_report_exclude_also`" setting for adding line exclusion
  patterns.

- A few file path configuration settings didn't allow for tilde expansion:
  :ref:`config_json_output`, :ref:`config_lcov_output` and
  :ref:`config_run_debug_file`.  This is now fixed.

- Wheels are included for 3.14 now that 3.14 rc1 is available.

- We no longer ship a PyPy-specific wheel. PyPy will install the pure-Python
  wheel.  Closes `issue 2001`_.

- In the very unusual situation of not having a current frame, coverage no
  longer crashes when using the sysmon core, fixing `issue 2005`_.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.73 2025/07/02 12:48:21 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.10.2
@


1.73
log
@py-coverage: updated to 7.9.1

Version 7.9.1 — 2025-06-13

- The "no-ctracer" warning is not issued for Python pre-release versions.
  Coverage doesn't ship compiled wheels for those versions, so this was far too
  noisy.

- On Python 3.14+, the "sysmon" core is now the default if it's supported for
  your configuration.  Plugins and dynamic contexts are still not supported
  with it.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.72 2025/06/13 09:01:11 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.9.1
@


1.72
log
@py-coverage: updated to 7.9.0

Version 7.9.0 — 2025-06-11

- Added a ``[run] core`` configuration setting to specify the measurement core,
  which was previously only available through the COVERAGE_CORE environment
  variable. Finishes `issue 1746`_.

- Fixed incorrect rendering of f-strings with doubled braces, closing `issue
  1980`_.

- If the C tracer core can't be imported, a warning ("no-ctracer") is issued
  with the reason.

- The C tracer core extension module now conforms to `PEP 489`_, closing `issue
  1977`_.  Thanks, `Adam Turner <pull 1978_>`_.

- Fixed a "ValueError: min() arg is an empty sequence" error caused by strange
  empty modules, found by `oss-fuzz`_.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.71 2025/05/23 12:45:37 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.9.0
@


1.71
log
@py-coverage: updated to 7.8.2

Version 7.8.2 — 2025-05-23

- Wheels are provided for Windows ARM64 on Python 3.11, 3.12, and 3.13.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.70 2025/05/22 05:57:51 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.8.2
@


1.70
log
@py-coverage: updated to 7.8.1

Version 7.8.1 — 2025-05-21

- A number of EncodingWarnings were fixed that could appear if you've enabled
  PYTHONWARNDEFAULTENCODING, fixing `issue 1966`_.

- Fixed a race condition when using sys.monitoring with free-threading Python,
  closing `issue 1970`_.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.69 2025/04/12 09:56:23 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.8.1
@


1.69
log
@py-coverage: updated to 7.8.0

Version 7.8.0 — 2025-03-30

- Added a new ``source_dirs`` setting for symmetry with the existing
  ``source_pkgs`` setting. It's preferable to the existing ``source`` setting,
  because you'll get a clear error when directories don't exist. Fixes `issue
  1942`_.  Thanks, `Jeremy Fleischman <pull 1943_>`_.

- Fix: the PYTHONSAFEPATH environment variable new in Python 3.11 is properly
  supported, closing `issue 1696`_.  Thanks, `Philipp A. <pull 1700_>`_.  This
  works properly except for a detail when using the ``coverage`` command on
  Windows.  There you can use ``python -m coverage`` instead if you need exact
  emulation.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.68 2025/02/12 09:32:38 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.8.0
@


1.68
log
@py-coverage: updated to 7.6.12

Version 7.6.12 — 2025-02-11

- Fix: some aarch64 distributions were missing (`issue 1927`_).  These are now
  building reliably.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.67 2025/02/10 16:30:38 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.6.12
d13 1
a13 1
TOOL_DEPENDS+=	${PYPKGPREFIX}-setuptools-[0-9]*:../../devel/py-setuptools
@


1.67
log
@py-coverage: updated to 7.6.11

Version 7.6.11 — 2025-02-08

- Fix: a memory leak in CTracer has been fixed.  The details are in `issue
  1924`_ and `pytest-dev 676`_.  This should reduce the memory footprint for
  everyone even if it hadn't caused a problem before.

- We now ship a py3-none-any.whl wheel file.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.66 2025/02/02 10:38:03 he Exp $
d3 1
a3 1
DISTNAME=	coverage-7.6.11
@


1.66
log
@lang/python and a number of python packages: re-do atomic64.mk issue.

Evidently, python 3.13 brought in the need to support 64-bit atomics.
This means that python extension packages built with C needs to
use mk/atomic64.mk to make -latomic available on the required 32-bit
ports.  Sadly, there is no reliable way to detect in the .mk files
whether the package is using C (or C++), so this change adds an
unconditional include of mk/atomic64.mk when the python version is
equal to or larger than 3.13 for packages using egg.mk or wheel.mk.

This undoes the individual package Makefile inclusions of mk/atomic64.mk
that I've added over the last few days.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.65 2025/01/21 15:32:31 he Exp $
d3 1
a3 1
DISTNAME=	coverage-7.6.10
@


1.65
log
@devel/py-coverage: use atomic64.mk to fix build on macppc w/python3.13.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.64 2024/12/26 17:33:53 adam Exp $
a30 1
.include "../../mk/atomic64.mk"
@


1.64
log
@py-coverage: updated to 7.6.10

Version 7.6.10 — 2024-12-26

- Fix: some descriptions of missing branches in HTML and LCOV reports were
  incorrect when multi-line statements were involved (`issue 1874`_ and `issue
  1875`_).  These are now fixed.

- Fix: Python 3.14 `defers evaluation of annotations <pep649_>`_ by moving them
  into separate code objects.  That code is rarely executed, so coverage.py
  would mark them as missing, as reported in `issue 1908`_.  Now they are
  ignored by coverage automatically.

- Fixed an obscure and mysterious problem on PyPy 3.10 seemingly involving
  mocks, imports, and trace functions: `issue 1902`_.  To be honest, I don't
  understand the problem or the solution, but ``git bisect`` helped find it,
  and now it's fixed.

- Docs: re-wrote the :ref:`subprocess` page to put multiprocessing first and to
  highlight the correct use of :class:`multiprocessing.Pool
  <python:multiprocessing.pool.Pool>`.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.63 2024/12/16 05:54:21 adam Exp $
d31 1
@


1.63
log
@py-coverage: updated to 7.6.9

Version 7.6.9 — 2024-12-06

- Fix: `Tomas Uribe fixed <pull 1901_>`_ a performance problem in the XML
  report.  Large code bases should produce XML reports much faster now.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.62 2024/11/25 20:25:50 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.6.9
@


1.62
log
@py-coverage: updated to 7.6.8

Version 7.6.8 — 2024-11-23

- Fix: the LCOV report code assumed that a branch line that took no branches
  meant that the entire line was unexecuted.  This isn't true in a few cases:
  the line might always raise an exception, or might have been optimized away.
  Fixes `issue 1896`_.

- Fix: similarly, the HTML report will now explain that a line that jumps to
  none of its expected destinations must have always raised an exception.
  Previously, it would say something nonsensical like, "line 4 didn't jump to
  line 5 because line 4 was never true, and it didn't jump to line 7 because
  line 4 was always true."  This was also shown in `issue 1896`_.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.61 2024/11/16 16:35:11 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.6.8
@


1.61
log
@py-coverage: updated to 7.6.7

Version 7.6.7 — 2024-11-15

- fix: ugh, the other assert from 7.6.5 can also be encountered in the wild,
  so it's been restored to a conditional.  Sorry for the churn.


Version 7.6.6 — 2024-11-15

- One of the new asserts from 7.6.5 caused problems in real projects, as
  reported in `issue 1891`_.  The assert has been removed.


Version 7.6.5 — 2024-11-14

- fix: fine-tuned the exact Python version (3.12.6) when exiting from ``with``
  statements changed how they traced.  This affected whether people saw the
  fix for `issue 1880`_.

- fix: isolate our code more from mocking in the os module that in rare cases
  can cause `bizarre behavior <pytest-cov-666_>`_.

- refactor: some code unreachable code paths in parser.py were changed to
  asserts.  If you encounter any of these, please let me know!
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.60 2024/11/11 07:28:05 wiz Exp $
d3 1
a3 1
DISTNAME=	coverage-7.6.7
@


1.60
log
@py-*: remove unused tool dependency

py-setuptools includes the py-wheel functionality nowadays
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.59 2024/10/24 05:20:05 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.6.4
@


1.59
log
@py-coverage: updated to 7.6.4

Version 7.6.4 — 2024-10-20

- fix: multi-line ``with`` statements could cause contained branches to be
  incorrectly marked as missing (`issue 1880`_).  This is now fixed.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.58 2024/10/14 05:08:23 adam Exp $
a13 1
TOOL_DEPENDS+=	${PYPKGPREFIX}-wheel-[0-9]*:../../devel/py-wheel
@


1.58
log
@py-coverage: updated to 7.6.3

Version 7.6.3 — 2024-10-13

- Fix: nested context managers could incorrectly be analyzed to flag a missing
  branch on the last context manager, as described in `issue 1876`_.  This is
  now fixed.

- Fix: the missing branch message about not exiting a module had an extra
  "didn't," as described in `issue 1873`_.  This is now fixed.


Version 7.6.2 — 2024-10-09

- Dropped support for Python 3.8 and PyPy 3.8.

- Fix: a final wildcard match/case clause assigning to a name (``case _ as
  value``) was incorrectly marked as a missing branch.  This is now fixed,
  closing `issue 1860`_.

- Fewer things are considered branches now. Lambdas, comprehensions, and
  generator expressions are no longer marked as missing branches if they don't
  complete execution.  Closes `issue 1852`_.

- Fix: the HTML report didn't properly show multi-line f-strings that end with
  a backslash continuation.  This is now fixed, closing `issue 1836`_, thanks
  to `LiuYinCarl and Marco Ricci <pull 1838_>`_.

- Fix: the LCOV report now has correct line numbers (fixing `issue 1846`_) and
  better branch descriptions for BRDA records (fixing `issue 1850`_).  There
  are other changes to lcov also, including a new configuration option
  :ref:`line_checksums <config_lcov_line_checksums>` to control whether line
  checksums are included in the lcov report.  The default is false. To keep
  checksums set it to true.  All this work is thanks to Zack Weinberg
  (`pull 1849`_ and `pull 1851`_).

- Fixed the docs for multi-line regex exclusions, closing `issue 1863`_.

- Fixed a potential crash in the C tracer, closing `issue 1835`_, thanks to
  `Jan Kühle <pull 1843_>`_.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.57 2024/08/06 12:33:08 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.6.3
@


1.57
log
@py-coverage: updated to 7.6.1

Version 7.6.1 — 2024-08-04

- Fix: coverage used to fail when measuring code using :func:`runpy.run_path
  <python:runpy.run_path>` with a :class:`Path <python:pathlib.Path>` argument.
  This is now fixed, thanks to `Ask Hjorth Larsen <pull 1819_>`_.

- Fix: backslashes preceding a multi-line backslashed string could confuse the
  HTML report.  This is now fixed, thanks to `LiuYinCarl <pull 1828_>`_.

- Now we publish wheels for Python 3.13, both regular and free-threaded.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.56 2024/07/15 09:35:58 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.6.1
a18 2
PYTHON_VERSIONS_INCOMPATIBLE=	27

@


1.56
log
@py-coverage: updated to 7.6.0

Version 7.6.0 — 2024-07-11
--------------------------

- Exclusion patterns can now be multi-line, thanks to `Daniel Diniz <pull
  1807_>`_.  This enables many interesting exclusion use-cases, including those
  requested in issues `118 <issue 118_>`_ (entire files), `996
  <issue 996_>`_ (multiple lines only when appearing together), `1741
  <issue 1741_>`_ (remainder of a function), and `1803 <issue 1803_>`_
  (arbitrary sequence of marked lines).  See the :ref:`multi_line_exclude`
  section of the docs for more details and examples.

- The JSON report now includes per-function and per-class coverage information.
  Thanks to `Daniel Diniz <pull 1809_>`_ for getting the work started. This
  closes `issue 1793`_ and `issue 1532`_.

- Fixed an incorrect calculation of "(no class)" lines in the HTML classes
  report.

- Python 3.13.0b3 is supported.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.55 2024/06/26 19:37:33 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.6.0
@


1.55
log
@py-coverage: updated to 7.5.4

Version 7.5.4 — 2024-06-22
--------------------------

- If you attempt to combine statement coverage data with branch coverage data,
  coverage.py used to fail with the message "Can't combine arc data with line
  data" or its reverse, "Can't combine line data with arc data."  These
  messages used internal terminology, making it hard for people to understand
  the problem.  They are now changed to mention "branch coverage data" and
  "statement coverage data."

- Fixed a minor branch coverage problem with wildcard match/case cases using
  names or guard clauses.

- Started testing on 3.13 free-threading (nogil) builds of Python.  I'm not
  claiming full support yet.  Closes `issue 1799`_.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.54 2024/06/05 08:03:00 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.5.4
@


1.54
log
@py-coverage: updated to 7.5.3

Version 7.5.3 — 2024-05-28

- Performance improvements for combining data files, especially when measuring
  line coverage. A few different quadratic behaviors were eliminated. In one
  extreme case of combining 700+ data files, the time dropped from more than
  three hours to seven minutes.  Thanks for Kraken Tech for funding the fix.

- Performance improvements for generating HTML reports, with a side benefit of
  reducing memory use, closing `issue 1791`_.  Thanks to Daniel Diniz for
  helping to diagnose the problem.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.53 2024/05/27 14:48:09 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.5.3
@


1.53
log
@py-coverage: updated to 7.5.2

Version 7.5.2 — 2024-05-24
--------------------------

- Fix: nested matches of exclude patterns could exclude too much code, as
  reported in `issue 1779`_.  This is now fixed.

- Changed: previously, coverage.py would consider a module docstring to be an
  executable statement if it appeared after line 1 in the file, but not
  executable if it was the first line.  Now module docstrings are never counted
  as executable statements.  This can change coverage.py's count of the number
  of statements in a file, which can slightly change the coverage percentage
  reported.

- In the HTML report, the filter term and "hide covered" checkbox settings are
  remembered between viewings, thanks to `Daniel Diniz <pull 1776_>`_.

- Python 3.13.0b1 is supported.

- Fix: parsing error handling is improved to ensure bizarre source files are
  handled gracefully, and to unblock oss-fuzz fuzzing, thanks to `Liam DeVoe
  <pull 1788_>`_. Closes `issue 1787`_.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.52 2024/05/05 18:28:05 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.5.2
@


1.52
log
@py-coverage: updated to 7.5.1

Version 7.5.1 — 2024-05-04
--------------------------

- Fix: a pragma comment on the continuation lines of a multi-line statement
  now excludes the statement and its body, the same as if the pragma is
  on the first line. This closes `issue 754`_. The fix was contributed by
  `Daniel Diniz <pull 1773_>`_.

- Fix: very complex source files like `this one <resolvent_lookup_>`_ could
  cause a maximum recursion error when creating an HTML report.  This is now
  fixed, closing `issue 1774`_.

- HTML report improvements:

  - Support files (JavaScript and CSS) referenced by the HTML report now have
    hashes added to their names to ensure updated files are used instead of
    stale cached copies.

  - Missing branch coverage explanations that said "the condition was never
    false" now read "the condition was always true" because it's easier to
    understand.

  - Column sort order is remembered better as you move between the index pages,
    fixing `issue 1766`_.  Thanks, `Daniel Diniz <pull 1768_>`_.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.51 2024/04/24 12:54:37 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.5.1
@


1.51
log
@py-coverage: updated to 7.5.0

Version 7.5.0 — 2024-04-23

- Added initial support for function and class reporting in the HTML report.
  There are now three index pages which link to each other: files, functions,
  and classes.  Other reports don't yet have this information, but it will be
  added in the future where it makes sense.  Feedback gladly accepted!

- Other HTML report improvements:

  - There is now a "hide covered" checkbox to filter out 100% files, finishing
    `issue 1384`_.

  - The index page is always sorted by one of its columns, with clearer
    indications of the sorting.

  - The "previous file" shortcut key didn't work on the index page, but now it
    does, fixing `issue 1765`_.

- The debug output showing which configuration files were tried now shows
  absolute paths to help diagnose problems where settings aren't taking effect,
  and is renamed from "attempted_config_files" to the more logical
  "config_files_attempted."

- Python 3.13.0a6 is supported.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.50 2024/03/17 12:57:37 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.5.0
@


1.50
log
@py-coverage: updated to 7.4.4

Version 7.4.4 — 2024-03-14
--------------------------

- Fix: in some cases, even with ``[run] relative_files=True``, a data file
  could be created with absolute path names.  When combined with other relative
  data files, it was random whether the absolute file names would be made
  relative or not. If they weren't, then a file would be listed twice in
  reports, as detailed in `issue 1752`_.  This is now fixed: absolute file
  names are always made relative when combining.  Thanks to Bruno Rodrigues dos
  Santos for support.

- Fix: the last case of a match/case statement had an incorrect message if the
  branch was missed.  It said the pattern never matched, when actually the
  branch is missed if the last case always matched.

- Fix: clicking a line number in the HTML report now positions more accurately.

- Fix: the ``report:format`` setting was defined as a boolean, but should be a
  string.  Thanks, `Tanaydin Sirin <pull 1754_>`_.  It is also now documented
  on the :ref:`configuration page <config_report_format>`.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.49 2024/02/25 22:50:53 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.4.4
a14 1
DEPENDS+=	${PYPKGPREFIX}-tomli-[0-9]*:../../textproc/py-tomli
d21 5
@


1.49
log
@py-coverage: updated to 7.4.3

Version 7.4.3 — 2024-02-23

- Fix: in some cases, coverage could fail with a RuntimeError: "Set changed
  size during iteration." This is now fixed, closing `issue 1733`_.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.48 2024/02/22 13:56:59 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.4.3
@


1.48
log
@py-coverage: updated to 7.4.2

Version 7.4.2 — 2024-02-20

- Fix: setting ``COVERAGE_CORE=sysmon`` no longer errors on 3.11 and lower,
  thanks `Hugo van Kemenade <pull 1747_>`_.  It now issues a warning that
  sys.monitoring is not available and falls back to the default core instead.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.47 2024/01/27 07:40:34 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.4.2
@


1.47
log
@py-coverage: updated to 7.4.1

Version 7.4.1 — 2024-01-26

- Python 3.13.0a3 is supported.
- Fix: the JSON report now includes an explicit format version number, closing
  `issue 1732`_.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.46 2023/12/31 19:50:13 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.4.1
@


1.46
log
@py-coverage: updated to 7.4.0

Version 7.4.0 — 2023-12-27

- In Python 3.12 and above, you can try an experimental core based on the new
  :mod:`sys.monitoring <python:sys.monitoring>` module by defining a
  ``COVERAGE_CORE=sysmon`` environment variable.  This should be faster, though
  plugins and dynamic contexts are not yet supported with it.  I am very
  interested to hear how it works (or doesn't!) for you.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.45 2023/12/15 05:25:38 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.4.0
@


1.45
log
@py-coverage: updated to 7.3.3

Version 7.3.3 — 2023-12-14
--------------------------

- Fix: function definitions with multi-line signatures can now be excluded by
  matching any of the lines, closing `issue 684`_.  Thanks, `Jan Rusak,
  Maciej Kowalczyk and Joanna Ejzel <pull 1705_>`_.

- Fix: XML reports could fail with a TypeError if files had numeric components
  that were duplicates except for leading zeroes, like ``file1.py`` and
  ``file001.py``.  Fixes `issue 1709`_.

- The ``coverage annotate`` command used to announce that it would be removed
  in a future version. Enough people got in touch to say that they use it, so
  it will stay.  Don't expect it to keep up with other new features though.

- Added new :ref:`debug options <cmd_run_debug>`:

  - ``pytest`` writes the pytest test name into the debug output.

  - ``dataop2`` writes the full data being added to CoverageData objects.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.44 2023/11/26 10:21:37 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.3.3
@


1.44
log
@py-coverage: fix PLIST
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.43 2023/10/28 19:56:58 wiz Exp $
d3 1
a3 1
DISTNAME=	coverage-7.3.2
a4 1
PKGREVISION=	2
@


1.43
log
@python/wheel.mk: simplify a lot, and switch to 'installer' for installation

This follows the recommended bootstrap method (flit_core, build, installer).

However, installer installs different files than pip, so update PLISTs
for all packages using wheel.mk and bump their PKGREVISIONs.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.42 2023/10/23 06:37:39 wiz Exp $
a18 1
TEST_DEPENDS+=	${PYPKGPREFIX}-test>=0:../../devel/py-test
d26 1
a26 1
# AssertionError: assert None
a27 2
do-test:
	cd ${WRKSRC} && ${SETENV} ${TEST_ENV} pytest-${PYVERSSUFFIX} tests
@


1.42
log
@*: update for Python base package change

Instead of depending on one of the removed packages (that are now included
in the base Python packages), include batteries-included.mk to require
a Python version that supplies them.

Remove now included packages.

Bump PKGREVISION.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.41 2023/10/02 19:03:13 adam Exp $
d5 1
a5 1
PKGREVISION=	1
d14 1
@


1.41
log
@py-coverage: updated to 7.3.2

Version 7.3.2 — 2023-10-02
--------------------------

- The ``coverage lcov`` command ignored the ``[report] exclude_lines`` and
  ``[report] exclude_also`` settings (`issue 1684`_).  This is now fixed,
  thanks `Jacqueline Lee <pull 1685_>`_.

- Sometimes SQLite will create journal files alongside the coverage.py database
  files.  These are ephemeral, but could be mistakenly included when combining
  data files.  Now they are always ignored, fixing `issue 1605`_. Thanks to
  Brad Smith for suggesting fixes and providing detailed debugging.

- On Python 3.12+, we now disable SQLite writing journal files, which should be
  a little faster.

- The new 3.12 soft keyword ``type`` is properly bolded in HTML reports.

- Removed the "fullcoverage" feature used by CPython to measure the coverage of
  early-imported standard library modules.  CPython `stopped using it
  <88054_>`_ in 2021, and it stopped working completely in Python 3.13.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.40 2023/09/28 16:05:52 adam Exp $
d5 1
a14 1
DEPENDS+=	${PYPKGPREFIX}-sqlite3-[0-9]*:../../databases/py-sqlite3
d31 1
@


1.40
log
@py-coverage: updated to 7.3.1

Version 7.3.1 — 2023-09-06
--------------------------
- The semantics of stars in file patterns has been clarified in the docs.  A
  leading or trailing star matches any number of path components, like a double
  star would.  This is different than the behavior of a star in the middle of a
  pattern.  This discrepancy was `identified by Sviatoslav Sydorenko
  <starbad_>`_, who `provided patient detailed diagnosis <pull 1650_>`_ and
  graciously agreed to a pragmatic resolution.

- The API docs were missing from the last version. They are now `restored
  <apidocs_>`_.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.39 2023/08/25 11:07:20 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.3.1
@


1.39
log
@py-coverage: updated to 7.3.0

Version 7.3.0 — 2023-08-12

Added a Coverage.collect() context manager to start and stop coverage data collection.
Dropped support for Python 3.7.
Fix: in unusual circumstances, SQLite cannot be set to asynchronous mode. Coverage.py would fail with the error Safety level may not be changed inside a transaction. This is now avoided, closing issue 1646. Thanks to Michael Bell for the detailed bug report.
Docs: examples of configuration files now include separate examples for the different syntaxes: .coveragerc, pyproject.toml, setup.cfg, and tox.ini.
Fix: added nosemgrep comments to our JavaScript code so that semgrep-based SAST security checks won’t raise false alarms about security problems that aren’t problems.
Added a CITATION.cff file, thanks to Ken Schackart.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.38 2023/05/30 04:13:53 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.3.0
@


1.38
log
@py-coverage: updated to 7.2.7

Version 7.2.7 — 2023-05-29
--------------------------

- Fix: reverted a `change from 6.4.3 <pull 1347_>`_ that helped Cython, but
  also increased the size of data files when using dynamic contexts, as
  described in the now-fixed `issue 1586`_. The problem is now avoided due to a
  recent change (`issue 1538`_).  Thanks to `Anders Kaseorg <pull 1629_>`_
  and David Szotten for persisting with problem reports and detailed diagnoses.

- Wheels are now provided for CPython 3.12.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.37 2023/05/24 06:43:40 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-7.2.7
d13 1
d15 1
a20 2
USE_PKG_RESOURCES=	yes

a22 5
.include "../../lang/python/pyversion.mk"
.if ${PYTHON_VERSION} < 311
DEPENDS+=	${PYPKGPREFIX}-tomli-[0-9]*:../../textproc/py-tomli
.endif

d31 1
a31 1
.include "../../lang/python/egg.mk"
@


1.37
log
@py-coverage: updated to 7.2.6

Version 7.2.6 — 2023-05-23
--------------------------

- Fix: the ``lcov`` command could raise an IndexError exception if a file is
  translated to Python but then executed under its own name.  Jinja2 does this
  when rendering templates.  Fixes `issue 1553`_.

- Python 3.12 beta 1 now inlines comprehensions.  Previously they were compiled
  as invisible functions and coverage.py would warn you if they weren't
  completely executed.  This no longer happens under Python 3.12.

- Fix: the ``coverage debug sys`` command includes some environment variables
  in its output.  This could have included sensitive data.  Those values are
  now hidden with asterisks, closing `issue 1628`_.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.36 2023/05/05 10:34:25 wiz Exp $
d3 1
a3 1
DISTNAME=	coverage-7.2.6
@


1.36
log
@py-coverage: update to 7.2.5.

Version 7.2.5 — 2023-04-30
--------------------------

- Fix: ``html_report()`` could fail with an AttributeError on ``isatty`` if run
  in an unusual environment where sys.stdout had been replaced.  This is now
  fixed.


Version 7.2.4 — 2023-04-28
--------------------------

PyCon 2023 sprint fixes!

- Fix: with ``relative_files = true``, specifying a specific file to include or
  omit wouldn't work correctly (`issue 1604`_).  This is now fixed, with
  testing help by `Marc Gibbons <pull 1608_>`_.

- Fix: the XML report would have an incorrect ``<source>`` element when using
  relative files and the source option ended with a slash (`issue 1541`_).
  This is now fixed, thanks to `Kevin Brown-Silva <pull 1608_>`_.

- When the HTML report location is printed to the terminal, it's now a
  terminal-compatible URL, so that you can click the location to open the HTML
  file in your browser.  Finishes `issue 1523`_ thanks to `Ricardo Newbery
  <pull 1613_>`_.

- Docs: a new :ref:`Migrating page <migrating>` with details about how to
  migrate between major versions of coverage.py.  It currently covers the
  wildcard changes in 7.x.  Thanks, `Brian Grohe <pull 1610_>`_.

.. _issue 1523: https://github.com/nedbat/coveragepy/issues/1523
.. _issue 1541: https://github.com/nedbat/coveragepy/issues/1541
.. _issue 1604: https://github.com/nedbat/coveragepy/issues/1604
.. _pull 1608: https://github.com/nedbat/coveragepy/pull/1608
.. _pull 1609: https://github.com/nedbat/coveragepy/pull/1609
.. _pull 1610: https://github.com/nedbat/coveragepy/pull/1610
.. _pull 1613: https://github.com/nedbat/coveragepy/pull/1613


Version 7.2.3 — 2023-04-06
--------------------------

- Fix: the :ref:`config_run_sigterm` setting was meant to capture data if a
  process was terminated with a SIGTERM signal, but it didn't always.  This was
  fixed thanks to `Lewis Gaul <pull 1600_>`_, closing `issue 1599`_.

- Performance: HTML reports with context information are now much more compact.
  File sizes are typically as small as one-third the previous size, but can be
  dramatically smaller. This closes `issue 1584`_ thanks to `Oleh Krehel
  <pull 1587_>`_.

- Development dependencies no longer use hashed pins, closing `issue 1592`_.

.. _issue 1584: https://github.com/nedbat/coveragepy/issues/1584
.. _pull 1587: https://github.com/nedbat/coveragepy/pull/1587
.. _issue 1592: https://github.com/nedbat/coveragepy/issues/1592
.. _issue 1599: https://github.com/nedbat/coveragepy/issues/1599
.. _pull 1600: https://github.com/nedbat/coveragepy/pull/1600


Version 7.2.2 — 2023-03-16
--------------------------

- Fix: if a virtualenv was created inside a source directory, and a sourced
  package was installed inside the virtualenv, then all of the third-party
  packages inside the virtualenv would be measured.  This was incorrect, but
  has now been fixed: only the specified packages will be measured, thanks to
  `Manuel Jacob <pull 1560_>`_.

- Fix: the ``coverage lcov`` command could create a .lcov file with incorrect
  LF (lines found) and LH (lines hit) totals.  This is now fixed, thanks to
  `Ian Moore <pull 1583_>`_.

- Fix: the ``coverage xml`` command on Windows could create a .xml file with
  duplicate ``<package>`` elements. This is now fixed, thanks to `Benjamin
  Parzella <pull 1574_>`_, closing `issue 1573`_.

.. _pull 1560: https://github.com/nedbat/coveragepy/pull/1560
.. _issue 1573: https://github.com/nedbat/coveragepy/issues/1573
.. _pull 1574: https://github.com/nedbat/coveragepy/pull/1574
.. _pull 1583: https://github.com/nedbat/coveragepy/pull/1583


Version 7.2.1 — 2023-02-26
--------------------------

- Fix: the PyPI page had broken links to documentation pages, but no longer
  does, closing `issue 1566`_.

- Fix: public members of the coverage module are now properly indicated so that
  mypy will find them, fixing `issue 1564`_.

.. _issue 1564: https://github.com/nedbat/coveragepy/issues/1564
.. _issue 1566: https://github.com/nedbat/coveragepy/issues/1566


Version 7.2.0 — 2023-02-22
--------------------------

- Added a new setting ``[report] exclude_also`` to let you add more exclusions
  without overwriting the defaults.  Thanks, `Alpha Chen <pull 1557_>`_,
  closing `issue 1391`_.

- Added a :meth:`.CoverageData.purge_files` method to remove recorded data for
  a particular file.  Contributed by `Stephan Deibel <pull 1547_>`_.

- Fix: when reporting commands fail, they will no longer congratulate
  themselves with messages like "Wrote XML report to file.xml" before spewing a
  traceback about their failure.

- Fix: arguments in the public API that name file paths now accept pathlib.Path
  objects.  This includes the ``data_file`` and ``config_file`` arguments to
  the Coverage constructor and the ``basename`` argument to CoverageData.
  Closes `issue 1552`_.

- Fix: In some embedded environments, an IndexError could occur on stop() when
  the originating thread exits before completion.  This is now fixed, thanks to
  `Russell Keith-Magee <pull 1543_>`_, closing `issue 1542`_.

- Added a ``py.typed`` file to announce our type-hintedness.  Thanks,
  `KotlinIsland <pull 1550_>`_.

.. _issue 1391: https://github.com/nedbat/coveragepy/issues/1391
.. _issue 1542: https://github.com/nedbat/coveragepy/issues/1542
.. _pull 1543: https://github.com/nedbat/coveragepy/pull/1543
.. _pull 1547: https://github.com/nedbat/coveragepy/pull/1547
.. _pull 1550: https://github.com/nedbat/coveragepy/pull/1550
.. _issue 1552: https://github.com/nedbat/coveragepy/issues/1552
.. _pull 1557: https://github.com/nedbat/coveragepy/pull/1557


Version 7.1.0 — 2023-01-24
--------------------------

- Added: the debug output file can now be specified with ``[run] debug_file``
  in the configuration file.  Closes `issue 1319`_.

- Performance: fixed a slowdown with dynamic contexts that's been around since
  6.4.3.  The fix closes `issue 1538`_.  Thankfully this doesn't break the
  `Cython change`_ that fixed `issue 972`_.  Thanks to Mathieu Kniewallner for
  the deep investigative work and comprehensive issue report.

- Typing: all product and test code has type annotations.

.. _Cython change: https://github.com/nedbat/coveragepy/pull/1347
.. _issue 972: https://github.com/nedbat/coveragepy/issues/972
.. _issue 1319: https://github.com/nedbat/coveragepy/issues/1319
.. _issue 1538: https://github.com/nedbat/coveragepy/issues/1538

Version 7.0.5 — 2023-01-10
--------------------------

- Fix: On Python 3.7, a file with type annotations but no ``from __future__
  import annotations`` would be missing statements in the coverage report. This
  is now fixed, closing `issue 1524`_.

.. _issue 1524: https://github.com/nedbat/coveragepy/issues/1524


Version 7.0.4 — 2023-01-07
--------------------------

- Performance: an internal cache of file names was accidentally disabled,
  resulting in sometimes drastic reductions in performance.  This is now fixed,
  closing `issue 1527`_.   Thanks to Ivan Ciuvalschii for the reproducible test
  case.

.. _issue 1527: https://github.com/nedbat/coveragepy/issues/1527


Version 7.0.3 — 2023-01-03
--------------------------

- Fix: when using pytest-cov or pytest-xdist, or perhaps both, the combining
  step could fail with ``assert row is not None`` using 7.0.2.  This was due to
  a race condition that has always been possible and is still possible. In
  7.0.1 and before, the error was silently swallowed by the combining code.
  Now it will produce a message "Couldn't combine data file" and ignore the
  data file as it used to do before 7.0.2.  Closes `issue 1522`_.

.. _issue 1522: https://github.com/nedbat/coveragepy/issues/1522


Version 7.0.2 — 2023-01-02
--------------------------

- Fix: when using the ``[run] relative_files = True`` setting, a relative
  ``[paths]`` pattern was still being made absolute.  This is now fixed,
  closing `issue 1519`_.

- Fix: if Python doesn't provide tomllib, then TOML configuration files can
  only be read if coverage.py is installed with the ``[toml]`` extra.
  Coverage.py will raise an error if TOML support is not installed when it sees
  your settings are in a .toml file. But it didn't understand that
  ``[tools.coverage]`` was a valid section header, so the error wasn't reported
  if you used that header, and settings were silently ignored.  This is now
  fixed, closing `issue 1516`_.

- Fix: adjusted how decorators are traced on PyPy 7.3.10, fixing `issue 1515`_.

- Fix: the ``coverage lcov`` report did not properly implement the
  ``--fail-under=MIN`` option.  This has been fixed.

- Refactor: added many type annotations, including a number of refactorings.
  This should not affect outward behavior, but they were a bit invasive in some
  places, so keep your eyes peeled for oddities.

- Refactor: removed the vestigial and long untested support for Jython and
  IronPython.

.. _issue 1515: https://github.com/nedbat/coveragepy/issues/1515
.. _issue 1516: https://github.com/nedbat/coveragepy/issues/1516
.. _issue 1519: https://github.com/nedbat/coveragepy/issues/1519


Version 7.0.1 — 2022-12-23
--------------------------

- When checking if a file mapping resolved to a file that exists, we weren't
  considering files in .whl files.  This is now fixed, closing `issue 1511`_.

- File pattern rules were too strict, forbidding plus signs and curly braces in
  directory and file names.  This is now fixed, closing `issue 1513`_.

- Unusual Unicode or control characters in source files could prevent
  reporting.  This is now fixed, closing `issue 1512`_.

- The PyPy wheel now installs on PyPy 3.7, 3.8, and 3.9, closing `issue 1510`_.

.. _issue 1510: https://github.com/nedbat/coveragepy/issues/1510
.. _issue 1511: https://github.com/nedbat/coveragepy/issues/1511
.. _issue 1512: https://github.com/nedbat/coveragepy/issues/1512
.. _issue 1513: https://github.com/nedbat/coveragepy/issues/1513


Version 7.0.0 — 2022-12-18
--------------------------

Nothing new beyond 7.0.0b1.


Version 7.0.0b1 — 2022-12-03
----------------------------

A number of changes have been made to file path handling, including pattern
matching and path remapping with the ``[paths]`` setting (see
:ref:`config_paths`).  These changes might affect you, and require you to
update your settings.

(This release includes the changes from `6.6.0b1 <changes_6-6-0b1_>`_, since
6.6.0 was never released.)

- Changes to file pattern matching, which might require updating your
  configuration:

  - Previously, ``*`` would incorrectly match directory separators, making
    precise matching difficult.  This is now fixed, closing `issue 1407`_.

  - Now ``**`` matches any number of nested directories, including none.

- Improvements to combining data files when using the
  :ref:`config_run_relative_files` setting, which might require updating your
  configuration:

  - During ``coverage combine``, relative file paths are implicitly combined
    without needing a ``[paths]`` configuration setting.  This also fixed
    `issue 991`_.

  - A ``[paths]`` setting like ``*/foo`` will now match ``foo/bar.py`` so that
    relative file paths can be combined more easily.

  - The :ref:`config_run_relative_files` setting is properly interpreted in
    more places, fixing `issue 1280`_.

- When remapping file paths with ``[paths]``, a path will be remapped only if
  the resulting path exists.  The documentation has long said the prefix had to
  exist, but it was never enforced.  This fixes `issue 608`_, improves `issue
  649`_, and closes `issue 757`_.

- Reporting operations now implicitly use the ``[paths]`` setting to remap file
  paths within a single data file.  Combining multiple files still requires the
  ``coverage combine`` step, but this simplifies some single-file situations.
  Closes `issue 1212`_ and `issue 713`_.

- The ``coverage report`` command now has a ``--format=`` option.  The original
  style is now ``--format=text``, and is the default.

  - Using ``--format=markdown`` will write the table in Markdown format, thanks
    to `Steve Oswald <pull 1479_>`_, closing `issue 1418`_.

  - Using ``--format=total`` will write a single total number to the
    output.  This can be useful for making badges or writing status updates.

- Combining data files with ``coverage combine`` now hashes the data files to
  skip files that add no new information.  This can reduce the time needed.
  Many details affect the speed-up, but for coverage.py's own test suite,
  combining is about 40% faster. Closes `issue 1483`_.

- When searching for completely un-executed files, coverage.py uses the
  presence of ``__init__.py`` files to determine which directories have source
  that could have been imported.  However, `implicit namespace packages`_ don't
  require ``__init__.py``.  A new setting ``[report]
  include_namespace_packages`` tells coverage.py to consider these directories
  during reporting.  Thanks to `Felix Horvat <pull 1387_>`_ for the
  contribution.  Closes `issue 1383`_ and `issue 1024`_.

- Fixed environment variable expansion in pyproject.toml files.  It was overly
  broad, causing errors outside of coverage.py settings, as described in `issue
  1481`_ and `issue 1345`_.  This is now fixed, but in rare cases will require
  changing your pyproject.toml to quote non-string values that use environment
  substitution.

- An empty file has a coverage total of 100%, but used to fail with
  ``--fail-under``.  This has been fixed, closing `issue 1470`_.

- The text report table no longer writes out two separator lines if there are
  no files listed in the table.  One is plenty.

- Fixed a mis-measurement of a strange use of wildcard alternatives in
  match/case statements, closing `issue 1421`_.

- Fixed internal logic that prevented coverage.py from running on
  implementations other than CPython or PyPy (`issue 1474`_).

- The deprecated ``[run] note`` setting has been completely removed.

.. _implicit namespace packages: https://peps.python.org/pep-0420/
.. _issue 608: https://github.com/nedbat/coveragepy/issues/608
.. _issue 649: https://github.com/nedbat/coveragepy/issues/649
.. _issue 713: https://github.com/nedbat/coveragepy/issues/713
.. _issue 757: https://github.com/nedbat/coveragepy/issues/757
.. _issue 991: https://github.com/nedbat/coveragepy/issues/991
.. _issue 1024: https://github.com/nedbat/coveragepy/issues/1024
.. _issue 1212: https://github.com/nedbat/coveragepy/issues/1212
.. _issue 1280: https://github.com/nedbat/coveragepy/issues/1280
.. _issue 1345: https://github.com/nedbat/coveragepy/issues/1345
.. _issue 1383: https://github.com/nedbat/coveragepy/issues/1383
.. _issue 1407: https://github.com/nedbat/coveragepy/issues/1407
.. _issue 1418: https://github.com/nedbat/coveragepy/issues/1418
.. _issue 1421: https://github.com/nedbat/coveragepy/issues/1421
.. _issue 1470: https://github.com/nedbat/coveragepy/issues/1470
.. _issue 1474: https://github.com/nedbat/coveragepy/issues/1474
.. _issue 1481: https://github.com/nedbat/coveragepy/issues/1481
.. _issue 1483: https://github.com/nedbat/coveragepy/issues/1483
.. _pull 1387: https://github.com/nedbat/coveragepy/pull/1387
.. _pull 1479: https://github.com/nedbat/coveragepy/pull/1479



Version 6.6.0b1 — 2022-10-31
----------------------------

(Note: 6.6.0 final was never released. These changes are part of `7.0.0b1
<changes_7-0-0b1_>`_.)

- Changes to file pattern matching, which might require updating your
  configuration:

  - Previously, ``*`` would incorrectly match directory separators, making
    precise matching difficult.  This is now fixed, closing `issue 1407`_.

  - Now ``**`` matches any number of nested directories, including none.

- Improvements to combining data files when using the
  :ref:`config_run_relative_files` setting:

  - During ``coverage combine``, relative file paths are implicitly combined
    without needing a ``[paths]`` configuration setting.  This also fixed
    `issue 991`_.

  - A ``[paths]`` setting like ``*/foo`` will now match ``foo/bar.py`` so that
    relative file paths can be combined more easily.

  - The setting is properly interpreted in more places, fixing `issue 1280`_.

- Fixed environment variable expansion in pyproject.toml files.  It was overly
  broad, causing errors outside of coverage.py settings, as described in `issue
  1481`_ and `issue 1345`_.  This is now fixed, but in rare cases will require
  changing your pyproject.toml to quote non-string values that use environment
  substitution.

- Fixed internal logic that prevented coverage.py from running on
  implementations other than CPython or PyPy (`issue 1474`_).

.. _issue 991: https://github.com/nedbat/coveragepy/issues/991
.. _issue 1280: https://github.com/nedbat/coveragepy/issues/1280
.. _issue 1345: https://github.com/nedbat/coveragepy/issues/1345
.. _issue 1407: https://github.com/nedbat/coveragepy/issues/1407
.. _issue 1474: https://github.com/nedbat/coveragepy/issues/1474
.. _issue 1481: https://github.com/nedbat/coveragepy/issues/1481
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.35 2023/03/29 09:34:06 wiz Exp $
d3 1
a3 1
DISTNAME=	coverage-7.2.5
a12 1
BUILD_DEPENDS+=	${PYPKGPREFIX}-test-runner-[0-9]*:../../devel/py-test-runner
a15 1
TEST_DEPENDS+=	${PYPKGPREFIX}-mock>=3.0.5:../../devel/py-mock
a17 1
TEST_DEPENDS+=	${PYPKGPREFIX}-unittest-mixins>=1.6:../../devel/py-unittest-mixins
a23 1

d34 1
a34 1
	cd ${WRKSRC} && ${SETENV} ${TEST_ENV} pytest-${PYVERSSUFFIX}
@


1.35
log
@*: use PYTHON_VERSION instead of _PYTHON_VERSION
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.34 2022/11/08 13:39:17 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-6.5.0
d35 2
a36 1
# INTERNALERROR> AssertionError: assert None
@


1.34
log
@py-coverage: updated to 6.5.0

Version 6.5.0 — 2022-09-29
--------------------------

- The JSON report now includes details of which branches were taken, and which
  are missing for each file. Thanks, Christoph Blessing (`pull 1438`_). Closes
  `issue 1425`_.

- Starting with coverage.py 6.2, ``class`` statements were marked as a branch.
  This wasn't right, and has been reverted, fixing `issue 1449`_. Note this
  will very slightly reduce your coverage total if you are measuring branch
  coverage.

- Packaging is now compliant with `PEP 517`_, closing `issue 1395`_.

- A new debug option ``--debug=pathmap`` shows details of the remapping of
  paths that happens during combine due to the ``[paths]`` setting.

- Fix an internal problem with caching of invalid Python parsing. Found by
  OSS-Fuzz, fixing their `bug 50381`_.

.. _bug 50381: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=50381
.. _PEP 517: https://peps.python.org/pep-0517/
.. _issue 1395: https://github.com/nedbat/coveragepy/issues/1395
.. _issue 1425: https://github.com/nedbat/coveragepy/issues/1425
.. _pull 1438: https://github.com/nedbat/coveragepy/pull/1438
.. _issue 1449: https://github.com/nedbat/coveragepy/issues/1449
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.33 2022/08/24 09:36:50 wiz Exp $
d27 2
a28 1
.if ${_PYTHON_VERSION} < 311
@


1.33
log
@py-coverage: update to 6.4.4.

Version 6.4.4 — 2022-08-16
--------------------------

- Wheels are now provided for Python 3.11.


.. _changes_6-4-3:

Version 6.4.3 — 2022-08-06
--------------------------

- Fix a failure when combining data files if the file names contained
  glob-like patterns (`pull 1405`_).  Thanks, Michael Krebs and Benjamin
  Schubert.

- Fix a messaging failure when combining Windows data files on a different
  drive than the current directory. (`pull 1430`_, fixing `issue 1428`_).
  Thanks, Lorenzo Micò.

- Fix path calculations when running in the root directory, as you might do in
  a Docker container: `pull 1403`_, thanks Arthur Rio.

- Filtering in the HTML report wouldn't work when reloading the index page.
  This is now fixed (`pull 1413`_).  Thanks, Marc Legendre.

- Fix a problem with Cython code measurement (`pull 1347`_, fixing `issue
  972`_).  Thanks, Matus Valo.

.. _issue 972: https://github.com/nedbat/coveragepy/issues/972
.. _pull 1347: https://github.com/nedbat/coveragepy/pull/1347
.. _pull 1403: https://github.com/nedbat/coveragepy/issues/1403
.. _pull 1405: https://github.com/nedbat/coveragepy/issues/1405
.. _pull 1413: https://github.com/nedbat/coveragepy/issues/1413
.. _issue 1428: https://github.com/nedbat/coveragepy/issues/1428
.. _pull 1430: https://github.com/nedbat/coveragepy/pull/1430


.. _changes_6-4-2:

Version 6.4.2 — 2022-07-12
--------------------------

- Updated for a small change in Python 3.11.0 beta 4: modules now start with a
  line with line number 0, which is ignored.  This line cannnot be executed, so
  coverage totals were thrown off.  This line is now ignored by coverage.py,
  but this also means that truly empty modules (like ``__init__.py``) have no
  lines in them, rather than one phantom line.  Fixes `issue 1419`_.

- Internal debugging data added to sys.modules is now an actual module, to
  avoid confusing code that examines everything in sys.modules.  Thanks,
  Yilei Yang (`pull 1399`_).

.. _pull 1399: https://github.com/nedbat/coveragepy/pull/1399
.. _issue 1419: https://github.com/nedbat/coveragepy/issues/1419


.. _changes_6-4-1:

Version 6.4.1 — 2022-06-02
--------------------------

- Greatly improved performance on PyPy, and other environments that need the
  pure Python trace function.  Thanks, Carl Friedrich Bolz-Tereick (`pull
  1381`_ and `pull 1388`_).  Slightly improved performance when using the C
  trace function, as most environments do.  Closes `issue 1339`_.

- The conditions for using tomllib from the standard library have been made
  more precise, so that 3.11 alphas will continue to work. Closes `issue
  1390`_.

.. _issue 1339: https://github.com/nedbat/coveragepy/issues/1339
.. _pull 1381: https://github.com/nedbat/coveragepy/pull/1381
.. _pull 1388: https://github.com/nedbat/coveragepy/pull/1388
.. _issue 1390: https://github.com/nedbat/coveragepy/issues/1390


.. _changes_64:

Version 6.4 — 2022-05-22
------------------------

- A new setting, :ref:`config_run_sigterm`, controls whether a SIGTERM signal
  handler is used.  In 6.3, the signal handler was always installed, to capture
  data at unusual process ends.  Unfortunately, this introduced other problems
  (see `issue 1310`_).  Now the signal handler is only used if you opt-in by
  setting ``[run] sigterm = true``.

- Small changes to the HTML report:

  - Added links to next and previous file, and more keyboard shortcuts: ``[``
    and ``]`` for next file and previous file; ``u`` for up to the index; and
    ``?`` to open/close the help panel.  Thanks, `J. M. F. Tsang
    <pull 1364_>`_.

  - The timestamp and version are displayed at the top of the report.  Thanks,
    `Ammar Askar <pull 1354_>`_. Closes `issue 1351`_.

- A new debug option ``debug=sqldata`` adds more detail to ``debug=sql``,
  logging all the data being written to the database.

- Previously, running ``coverage report`` (or any of the reporting commands) in
  an empty directory would create a .coverage data file.  Now they do not,
  fixing `issue 1328`_.

- On Python 3.11, the ``[toml]`` extra no longer installs tomli, instead using
  tomllib from the standard library.  Thanks `Shantanu <pull 1359_>`_.

- In-memory CoverageData objects now properly update(), closing `issue 1323`_.

.. _issue 1310: https://github.com/nedbat/coveragepy/issues/1310
.. _issue 1323: https://github.com/nedbat/coveragepy/issues/1323
.. _issue 1328: https://github.com/nedbat/coveragepy/issues/1328
.. _issue 1351: https://github.com/nedbat/coveragepy/issues/1351
.. _pull 1354: https://github.com/nedbat/coveragepy/pull/1354
.. _pull 1359: https://github.com/nedbat/coveragepy/pull/1359
.. _pull 1364: https://github.com/nedbat/coveragepy/pull/1364


.. _changes_633:

Version 6.3.3 — 2022-05-12
--------------------------

- Fix: Coverage.py now builds successfully on CPython 3.11 (3.11.0b1) again.
  Closes `issue 1367`_.  Some results for generators may have changed.

.. _issue 1367: https://github.com/nedbat/coveragepy/issues/1367


.. _changes_632:

Version 6.3.2 — 2022-02-20
--------------------------

- Fix: adapt to pypy3.9's decorator tracing behavior.  It now traces function
  decorators like CPython 3.8: both the @@-line and the def-line are traced.
  Fixes `issue 1326`_.

- Debug: added ``pybehave`` to the list of :ref:`coverage debug <cmd_debug>`
  and :ref:`cmd_run_debug` options.

- Fix: show an intelligible error message if ``--concurrency=multiprocessing``
  is used without a configuration file.  Closes `issue 1320`_.

.. _issue 1320: https://github.com/nedbat/coveragepy/issues/1320
.. _issue 1326: https://github.com/nedbat/coveragepy/issues/1326


.. _changes_631:

Version 6.3.1 — 2022-02-01
--------------------------

- Fix: deadlocks could occur when terminating processes.  Some of these
  deadlocks (described in `issue 1310`_) are now fixed.

- Fix: a signal handler was being set from multiple threads, causing an error:
  "ValueError: signal only works in main thread".  This is now fixed, closing
  `issue 1312`_.

- Fix: ``--precision`` on the command-line was being ignored while considering
  ``--fail-under``.  This is now fixed, thanks to
  `Marcelo Trylesinski <pull 1317_>`_.

- Fix: releases no longer provide 3.11.0-alpha wheels. Coverage.py uses CPython
  internal fields which are moving during the alpha phase. Fixes `issue 1316`_.

.. _issue 1310: https://github.com/nedbat/coveragepy/issues/1310
.. _issue 1312: https://github.com/nedbat/coveragepy/issues/1312
.. _issue 1316: https://github.com/nedbat/coveragepy/issues/1316
.. _pull 1317: https://github.com/nedbat/coveragepy/pull/1317


.. _changes_63:

Version 6.3 — 2022-01-25
------------------------

- Feature: Added the ``lcov`` command to generate reports in LCOV format.
  Thanks, `Bradley Burns <pull 1289_>`_. Closes issues `587 <issue 587_>`_
  and `626 <issue 626_>`_.

- Feature: the coverage data file can now be specified on the command line with
  the ``--data-file`` option in any command that reads or writes data.  This is
  in addition to the existing ``COVERAGE_FILE`` environment variable.  Closes
  `issue 624`_. Thanks, `Nikita Bloshchanevich <pull 1304_>`_.

- Feature: coverage measurement data will now be written when a SIGTERM signal
  is received by the process.  This includes
  :meth:`Process.terminate <python:multiprocessing.Process.terminate>`,
  and other ways to terminate a process.  Currently this is only on Linux and
  Mac; Windows is not supported.  Fixes `issue 1307`_.

- Dropped support for Python 3.6, which reached end-of-life on 2021-12-23.

- Updated Python 3.11 support to 3.11.0a4, fixing `issue 1294`_.

- Fix: the coverage data file is now created in a more robust way, to avoid
  problems when multiple processes are trying to write data at once. Fixes
  issues `1303 <issue 1303_>`_ and `883 <issue 883_>`_.

- Fix: a .gitignore file will only be written into the HTML report output
  directory if the directory is empty.  This should prevent certain unfortunate
  accidents of writing the file where it is not wanted.

- Releases now have MacOS arm64 wheels for Apple Silicon, fixing `issue 1288`_.

.. _issue 587: https://github.com/nedbat/coveragepy/issues/587
.. _issue 624: https://github.com/nedbat/coveragepy/issues/624
.. _issue 626: https://github.com/nedbat/coveragepy/issues/626
.. _issue 883: https://github.com/nedbat/coveragepy/issues/883
.. _issue 1288: https://github.com/nedbat/coveragepy/issues/1288
.. _issue 1294: https://github.com/nedbat/coveragepy/issues/1294
.. _issue 1303: https://github.com/nedbat/coveragepy/issues/1303
.. _issue 1307: https://github.com/nedbat/coveragepy/issues/1307
.. _pull 1289: https://github.com/nedbat/coveragepy/pull/1289
.. _pull 1304: https://github.com/nedbat/coveragepy/pull/1304


.. _changes_62:

Version 6.2 — 2021-11-26
------------------------

- Feature: Now the ``--concurrency`` setting can now have a list of values, so
  that threads and another lightweight threading package can be measured
  together, such as ``--concurrency=gevent,thread``.  Closes `issue 1012`_ and
  `issue 1082`_.

- Fix: A module specified as the ``source`` setting is imported during startup,
  before the user program imports it.  This could cause problems if the rest of
  the program isn't ready yet.  For example, `issue 1203`_ describes a Django
  setting that is accessed before settings have been configured.  Now the early
  import is wrapped in a try/except so errors then don't stop execution.

- Fix: A colon in a decorator expression would cause an exclusion to end too
  early, preventing the exclusion of the decorated function. This is now fixed.

- Fix: The HTML report now will not overwrite a .gitignore file that already
  exists in the HTML output directory (follow-on for `issue 1244`_).

- API: The exceptions raised by Coverage.py have been specialized, to provide
  finer-grained catching of exceptions by third-party code.

- API: Using ``suffix=False`` when constructing a Coverage object with
  multiprocessing wouldn't suppress the data file suffix (`issue 989`_).  This
  is now fixed.

- Debug: The ``coverage debug data`` command will now sniff out combinable data
  files, and report on all of them.

- Debug: The ``coverage debug`` command used to accept a number of topics at a
  time, and show all of them, though this was never documented.  This no longer
  works, to allow for command-line options in the future.

.. _issue 989: https://github.com/nedbat/coveragepy/issues/989
.. _issue 1012: https://github.com/nedbat/coveragepy/issues/1012
.. _issue 1082: https://github.com/nedbat/coveragepy/issues/1082
.. _issue 1203: https://github.com/nedbat/coveragepy/issues/1203


.. _changes_612:

Version 6.1.2 — 2021-11-10
--------------------------

- Python 3.11 is supported (tested with 3.11.0a2).  One still-open issue has to
  do with `exits through with-statements <issue 1270_>`_.

- Fix: When remapping file paths through the ``[paths]`` setting while
  combining, the ``[run] relative_files`` setting was ignored, resulting in
  absolute paths for remapped file names (`issue 1147`_).  This is now fixed.

- Fix: Complex conditionals over excluded lines could have incorrectly reported
  a missing branch (`issue 1271`_). This is now fixed.

- Fix: More exceptions are now handled when trying to parse source files for
  reporting.  Problems that used to terminate coverage.py can now be handled
  with ``[report] ignore_errors``.  This helps with plugins failing to read
  files (`django_coverage_plugin issue 78`_).

- Fix: Removed another vestige of jQuery from the source tarball
  (`issue 840`_).

- Fix: Added a default value for a new-to-6.x argument of an internal class.
  This unsupported class is being used by coveralls (`issue 1273`_). Although
  I'd rather not "fix" unsupported interfaces, it's actually nicer with a
  default value.

.. _django_coverage_plugin issue 78: https://github.com/nedbat/django_coverage_plugin/issues/78
.. _issue 1147: https://github.com/nedbat/coveragepy/issues/1147
.. _issue 1270: https://github.com/nedbat/coveragepy/issues/1270
.. _issue 1271: https://github.com/nedbat/coveragepy/issues/1271
.. _issue 1273: https://github.com/nedbat/coveragepy/issues/1273


.. _changes_611:

Version 6.1.1 — 2021-10-31
--------------------------

- Fix: The sticky header on the HTML report didn't work unless you had branch
  coverage enabled. This is now fixed: the sticky header works for everyone.
  (Do people still use coverage without branch measurement!? j/k)

- Fix: When using explicitly declared namespace packages, the "already imported
  a file that will be measured" warning would be issued (`issue 888`_).  This
  is now fixed.

.. _issue 888: https://github.com/nedbat/coveragepy/issues/888


.. _changes_61:

Version 6.1 — 2021-10-30
------------------------

- Deprecated: The ``annotate`` command and the ``Coverage.annotate`` function
  will be removed in a future version, unless people let me know that they are
  using it.  Instead, the ``html`` command gives better-looking (and more
  accurate) output, and the ``report -m`` command will tell you line numbers of
  missing lines.  Please get in touch if you have a reason to use ``annotate``
  over those better options: ned@@nedbatchelder.com.

- Feature: Coverage now sets an environment variable, ``COVERAGE_RUN`` when
  running your code with the ``coverage run`` command.  The value is not
  important, and may change in the future.  Closes `issue 553`_.

- Feature: The HTML report pages for Python source files now have a sticky
  header so the file name and controls are always visible.

- Feature: The ``xml`` and ``json`` commands now describe what they wrote
  where.

- Feature: The ``html``, ``combine``, ``xml``, and ``json`` commands all accept
  a ``-q/--quiet`` option to suppress the messages they write to stdout about
  what they are doing (`issue 1254`_).

- Feature: The ``html`` command writes a ``.gitignore`` file into the HTML
  output directory, to prevent the report from being committed to git.  If you
  want to commit it, you will need to delete that file.  Closes `issue 1244`_.

- Feature: Added support for PyPy 3.8.

- Fix: More generated code is now excluded from measurement.  Code such as
  `attrs`_ boilerplate, or doctest code, was being measured though the
  synthetic line numbers meant they were never reported.  Once Cython was
  involved though, the generated .so files were parsed as Python, raising
  syntax errors, as reported in `issue 1160`_.  This is now fixed.

- Fix: When sorting human-readable names, numeric components are sorted
  correctly: file10.py will appear after file9.py.  This applies to file names,
  module names, environment variables, and test contexts.

- Performance: Branch coverage measurement is faster, though you might only
  notice on code that is executed many times, such as long-running loops.

- Build: jQuery is no longer used or vendored (`issue 840`_ and `issue 1118`_).
  Huge thanks to Nils Kattenbeck (septatrix) for the conversion to vanilla
  JavaScript in `pull request 1248`_.

.. _issue 553: https://github.com/nedbat/coveragepy/issues/553
.. _issue 840: https://github.com/nedbat/coveragepy/issues/840
.. _issue 1118: https://github.com/nedbat/coveragepy/issues/1118
.. _issue 1160: https://github.com/nedbat/coveragepy/issues/1160
.. _issue 1244: https://github.com/nedbat/coveragepy/issues/1244
.. _pull request 1248: https://github.com/nedbat/coveragepy/pull/1248
.. _issue 1254: https://github.com/nedbat/coveragepy/issues/1254
.. _attrs: https://www.attrs.org/


.. _changes_602:

Version 6.0.2 — 2021-10-11
--------------------------

- Namespace packages being measured weren't properly handled by the new code
  that ignores third-party packages. If the namespace package was installed, it
  was ignored as a third-party package.  That problem (`issue 1231`_) is now
  fixed.

- Packages named as "source packages" (with ``source``, or ``source_pkgs``, or
  pytest-cov's ``--cov``) might have been only partially measured.  Their
  top-level statements could be marked as unexecuted, because they were
  imported by coverage.py before measurement began (`issue 1232`_).  This is
  now fixed, but the package will be imported twice, once by coverage.py, then
  again by your test suite.  This could cause problems if importing the package
  has side effects.

- The :meth:`.CoverageData.contexts_by_lineno` method was documented to return
  a dict, but was returning a defaultdict.  Now it returns a plain dict.  It
  also no longer returns negative numbered keys.

.. _issue 1231: https://github.com/nedbat/coveragepy/issues/1231
.. _issue 1232: https://github.com/nedbat/coveragepy/issues/1232


.. _changes_601:

Version 6.0.1 — 2021-10-06
--------------------------

- In 6.0, the coverage.py exceptions moved from coverage.misc to
  coverage.exceptions. These exceptions are not part of the public supported
  API, CoverageException is. But a number of other third-party packages were
  importing the exceptions from coverage.misc, so they are now available from
  there again (`issue 1226`_).

- Changed an internal detail of how tomli is imported, so that tomli can use
  coverage.py for their own test suite (`issue 1228`_).

- Defend against an obscure possibility under code obfuscation, where a
  function can have an argument called "self", but no local named "self"
  (`pull request 1210`_).  Thanks, Ben Carlsson.

.. _pull request 1210: https://github.com/nedbat/coveragepy/pull/1210
.. _issue 1226: https://github.com/nedbat/coveragepy/issues/1226
.. _issue 1228: https://github.com/nedbat/coveragepy/issues/1228


.. _changes_60:

Version 6.0 — 2021-10-03
------------------------

- The ``coverage html`` command now prints a message indicating where the HTML
  report was written.  Fixes `issue 1195`_.

- The ``coverage combine`` command now prints messages indicating each data
  file being combined.  Fixes `issue 1105`_.

- The HTML report now includes a sentence about skipped files due to
  ``skip_covered`` or ``skip_empty`` settings.  Fixes `issue 1163`_.

- Unrecognized options in the configuration file are no longer errors. They are
  now warnings, to ease the use of coverage across versions.  Fixes `issue
  1035`_.

- Fix handling of exceptions through context managers in Python 3.10. A missing
  exception is no longer considered a missing branch from the with statement.
  Fixes `issue 1205`_.

- Fix another rarer instance of "Error binding parameter 0 - probably
  unsupported type." (`issue 1010`_).

- Creating a directory for the coverage data file now is safer against
  conflicts when two coverage runs happen simultaneously (`pull 1220`_).
  Thanks, Clément Pit-Claudel.

.. _issue 1035: https://github.com/nedbat/coveragepy/issues/1035
.. _issue 1105: https://github.com/nedbat/coveragepy/issues/1105
.. _issue 1163: https://github.com/nedbat/coveragepy/issues/1163
.. _issue 1195: https://github.com/nedbat/coveragepy/issues/1195
.. _issue 1205: https://github.com/nedbat/coveragepy/issues/1205
.. _pull 1220: https://github.com/nedbat/coveragepy/pull/1220


.. _changes_60b1:

Version 6.0b1 — 2021-07-18
--------------------------

- Dropped support for Python 2.7, PyPy 2, and Python 3.5.

- Added support for the Python 3.10 ``match/case`` syntax.

- Data collection is now thread-safe.  There may have been rare instances of
  exceptions raised in multi-threaded programs.

- Plugins (like the `Django coverage plugin`_) were generating "Already
  imported a file that will be measured" warnings about Django itself.  These
  have been fixed, closing `issue 1150`_.

- Warnings generated by coverage.py are now real Python warnings.

- Using ``--fail-under=100`` with coverage near 100% could result in the
  self-contradictory message :code:`total of 100 is less than fail-under=100`.
  This bug (`issue 1168`_) is now fixed.

- The ``COVERAGE_DEBUG_FILE`` environment variable now accepts ``stdout`` and
  ``stderr`` to write to those destinations.

- TOML parsing now uses the `tomli`_ library.

- Some minor changes to usually invisible details of the HTML report:

  - Use a modern hash algorithm when fingerprinting, for high-security
    environments (`issue 1189`_).  When generating the HTML report, we save the
    hash of the data, to avoid regenerating an unchanged HTML page. We used to
    use MD5 to generate the hash, and now use SHA-3-256.  This was never a
    security concern, but security scanners would notice the MD5 algorithm and
    raise a false alarm.

  - Change how report file names are generated, to avoid leading underscores
    (`issue 1167`_), to avoid rare file name collisions (`issue 584`_), and to
    avoid file names becoming too long (`issue 580`_).

.. _Django coverage plugin: https://pypi.org/project/django-coverage-plugin/
.. _issue 580: https://github.com/nedbat/coveragepy/issues/580
.. _issue 584: https://github.com/nedbat/coveragepy/issues/584
.. _issue 1150: https://github.com/nedbat/coveragepy/issues/1150
.. _issue 1167: https://github.com/nedbat/coveragepy/issues/1167
.. _issue 1168: https://github.com/nedbat/coveragepy/issues/1168
.. _issue 1189: https://github.com/nedbat/coveragepy/issues/1189
.. _tomli: https://pypi.org/project/tomli/


.. _changes_56b1:

Version 5.6b1 — 2021-04-13
--------------------------

Note: 5.6 final was never released. These changes are part of 6.0.

- Third-party packages are now ignored in coverage reporting.  This solves a
  few problems:

  - Coverage will no longer report about other people's code (`issue 876`_).
    This is true even when using ``--source=.`` with a venv in the current
    directory.

  - Coverage will no longer generate "Already imported a file that will be
    measured" warnings about coverage itself (`issue 905`_).

- The HTML report uses j/k to move up and down among the highlighted chunks of
  code.  They used to highlight the current chunk, but 5.0 broke that behavior.
  Now the highlighting is working again.

- The JSON report now includes ``percent_covered_display``, a string with the
  total percentage, rounded to the same number of decimal places as the other
  reports' totals.

.. _issue 876: https://github.com/nedbat/coveragepy/issues/876
.. _issue 905: https://github.com/nedbat/coveragepy/issues/905
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.32 2022/01/05 15:41:02 wiz Exp $
d3 1
a3 1
DISTNAME=	coverage-6.4.4
a14 1
DEPENDS+=	${PYPKGPREFIX}-tomli-[0-9]*:../../textproc/py-tomli
d22 2
d26 4
a29 1
USE_PKG_RESOURCES=	yes
@


1.32
log
@python: egg.mk: add USE_PKG_RESOURCES flag

This flag should be set for packages that import pkg_resources
and thus need setuptools after the build step.

Set this flag for packages that need it and bump PKGREVISION.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.31 2022/01/04 20:52:58 wiz Exp $
d3 1
a3 1
DISTNAME=	coverage-5.5
a4 1
PKGREVISION=	2
d11 1
a11 1
LICENSE=	modified-bsd
d15 1
d19 1
d23 1
a23 1
PYTHON_VERSIONED_DEPENDENCIES=	test:test
d27 2
a28 1
PYSETUPTESTTARGET=	pytest
d30 3
a32 2
post-install:
	${RM} -f ${DESTDIR}${PREFIX}/bin/coverage ${DESTDIR}${PREFIX}/bin/coverage[23]
a34 1
.include "../../lang/python/versioned_dependencies.mk"
@


1.31
log
@*: bump PKGREVISION for egg.mk users

They now have a tool dependency on py-setuptools instead of a DEPENDS
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.30 2021/05/18 15:26:46 adam Exp $
d5 1
a5 1
PKGREVISION=	1
d24 2
@


1.30
log
@py-coverage: updated to 5.5

Version 5.5 — 2021-02-28

coverage combine has a new option, --keep to keep the original data files after combining them. The default is still to delete the files after they have been combined. This was requested in issue 1108 and implemented in pull request 1110. Thanks, Éric Larivière.
When reporting missing branches in coverage report, branches aren’t reported that jump to missing lines. This adds to the long-standing behavior of not reporting branches from missing lines. Now branches are only reported if both the source and destination lines are executed. Closes both issue 1065 and issue 955.
Minor improvements to the HTML report:
The state of the line visibility selector buttons is saved in local storage so you don’t have to fiddle with them so often, fixing issue 1123.
It has a little more room for line numbers so that 4-digit numbers work well, fixing issue 1124.
Improved the error message when combining line and branch data, so that users will be more likely to understand what’s happening, closing issue 803.

Version 5.4 — 2021-01-24

The text report produced by coverage report now always outputs a TOTAL line, even if only one Python file is reported. This makes regex parsing of the output easier. Thanks, Judson Neer. This had been requested a number of times (issue 1086, issue 922, issue 732).
The skip_covered and skip_empty settings in the configuration file can now be specified in the [html] section, so that text reports and HTML reports can use separate settings. The HTML report will still use the [report] settings if there isn’t a value in the [html] section. Closes issue 1090.
Combining files on Windows across drives now works properly, fixing issue 577. Thanks, Valentin Lab.
Fix an obscure warning from deep in the _decimal module, as reported in issue 1084.
Update to support Python 3.10 alphas in progress, including PEP 626: Precise line numbers for debugging and other tools.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.29 2020/12/21 09:33:05 adam Exp $
d5 1
@


1.29
log
@py-coverage: updated to 5.3.1

Version 5.3.1 --- 2020-12-19
----------------------------

- When using ``--source`` on a large source tree, v5.x was slower than previous
  versions.  This performance regression is now fixed, closing `issue 1037`_.

- Mysterious SQLite errors can happen on PyPy, as reported in `issue 1010`_. An
  immediate retry seems to fix the problem, although it is an unsatisfying
  solution.

- The HTML report now saves the sort order in a more widely supported way,
  fixing `issue 986`_.  Thanks, Sebastián Ramírez (`pull request 1066`_).

- The HTML report pages now have a :ref:`Sleepy Snake <sleepy>` favicon.

- Wheels are now provided for manylinux2010, and for PyPy3 (pp36 and pp37).

- Continuous integration has moved from Travis and AppVeyor to GitHub Actions.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.28 2020/10/22 09:41:18 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-5.3.1
d15 5
a19 3
TEST_DEPENDS+=	${PYPKGPREFIX}-flaky>=3.4.0:../../devel/py-flaky
TEST_DEPENDS+=	${PYPKGPREFIX}-test-xdist>=1.20.1:../../devel/py-test-xdist
TEST_DEPENDS+=	${PYPKGPREFIX}-unittest-mixins-[0-9]*:../../devel/py-unittest-mixins
a24 3
# https://github.com/nedbat/coveragepy/issues/983
CHECK_PORTABILITY_SKIP=	tests/gold/html/Makefile

@


1.28
log
@py-coverage: updated to 5.3

Version 5.3:

The source setting has always been interpreted as either a file path or a module, depending on which existed. If both interpretations were valid, it was assumed to be a file path. The new source_pkgs setting can be used to name a package to disambiguate this case. Thanks, Thomas Grainger. Fixes issue 268.
If a plugin was disabled due to an exception, we used to still try to record its information, causing an exception, as reported in issue 1011. This is now fixed.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.27 2020/07/27 08:15:15 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-5.3
@


1.27
log
@py-coverage: updated to 5.2.1

Version 5.2.1
- The dark mode HTML report still used light colors for the context listing,
  making them unreadable.  This is now fixed.
- The time stamp on the HTML report now includes the time zone.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.26 2020/07/06 15:42:00 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-5.2.1
@


1.26
log
@py-coverage: updated to 5.2

Version 5.2

- The HTML report has been redesigned by Victor Salvino.  There is now a dark
  mode, the code text is larger, and system sans serif fonts are used, in
  addition to other small changes (`issue 858`_ and `pull request 931`_).

- The ``coverage report`` and ``coverage html`` commands now accept a
  ``--precision`` option to control the number of decimal points displayed.

- The ``coverage report`` and ``coverage html`` commands now accept a
  ``--no-skip-covered`` option to negate ``--skip-covered``.

- The ``--skip-empty`` option is now available for the XML report, closing
  `issue 976`_.

- The ``coverage report`` command now accepts a ``--sort`` option to specify
  how to sort the results.

- If coverage fails due to the coverage total not reaching the ``--fail-under``
  value, it will now print a message making the condition clear.

- TOML configuration files with non-ASCII characters would cause errors on
  Windows (`issue 990`_).  This is now fixed.

- The output of ``--debug=trace`` now includes information about how the
  ``--source`` option is being interpreted, and the module names being
  considered.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.25 2020/05/16 09:09:04 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-5.2
@


1.25
log
@pytest from versioned depends
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.24 2020/05/04 04:39:15 rillig Exp $
d3 1
a3 1
DISTNAME=	coverage-5.1
@


1.24
log
@devel/py-coverage: skip shell portability check for unneeded file
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.23 2020/04/29 10:45:09 adam Exp $
a15 1
TEST_DEPENDS+=	${PYPKGPREFIX}-test>=3.2.5:../../devel/py-test
d19 2
d30 1
@


1.23
log
@py-coverage: updated to 5.1

Version 5.1:
The JSON report now includes counts of covered and missing branches.
On Python 3.8, try-finally-return reported wrong branch coverage with decorated async functions (issue 964). This is now fixed.
The :meth:`~coverage.Coverage.get_option` and :meth:`~coverage.Coverage.set_option` methods can now manipulate the [paths] configuration setting.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.22 2020/03/17 11:04:13 adam Exp $
d22 3
@


1.22
log
@py-coverage: updated to 5.0.4

Version 5.0.4:
- If using the ``[run] relative_files`` setting, the XML report will use
  relative files in the ``<source>`` elements indicating the location of source
  code.
- The textual summary report could report missing lines with negative line
  numbers on PyPy3 7.1. This is now fixed.
- Windows wheels for Python 3.8 were incorrectly built, but are now fixed.
- Updated Python 3.9 support to 3.9a4.
- HTML reports couldn't be sorted if localStorage wasn't available. This is now
  fixed: sorting works even though the sorting setting isn't retained.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.21 2020/01/26 09:22:31 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-5.0.4
@


1.21
log
@py-coverage: updated to 5.0.3

Version 5.0.3:

- A performance improvement in 5.0.2 didn't work for test suites that changed
  directory before combining data, causing "Couldn't use data file: no such
  table: meta" errors.  This is now fixed.

- Coverage could fail to run your program with some form of "ModuleNotFound" or
  "ImportError" trying to import from the current directory. This would happen
  if coverage had been packaged into a zip file (for example, on Windows), or
  was found indirectly (for example, by pyenv-virtualenv).  A number of
  different scenarios were described in `issue 862`_ which is now fixed.  Huge
  thanks to Agbonze O. Jeremiah for reporting it, and Alexander Waters and
  George-Cristian Bîrzan for protracted debugging sessions.

- Added the "premain" debug option.

- Added SQLite compile-time options to the "debug sys" output.


Version 5.0.2:

- Programs that used multiprocessing and changed directories would fail under
  coverage.  This is now fixed.  A side effect is that debug
  information about the config files read now shows absolute paths to the
  files.

- When running programs as modules (``coverage run -m``) with ``--source``,
  some measured modules were imported before coverage starts.  This resulted in
  unwanted warnings ("Already imported a file that will be measured") and a
  reduction in coverage totals.  This is now fixed.

- If no data was collected, an exception about "No data to report" could happen
  instead of a 0% report being created.  This is now fixed.

- The handling of source files with non-encodable file names has changed.
  Previously, if a file name could not be encoded as UTF-8, an error occurred,
  as described in `issue 891`_.  Now, those files will not be measured, since
  their data would not be recordable.

- A new warning ("dynamic-conflict") is issued if two mechanisms are trying to
  change the dynamic context.

- ``coverage run --debug=sys`` would fail with an AttributeError. This is now
  fixed.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.20 2020/01/03 13:17:52 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-5.0.3
@


1.20
log
@py-coverage: updated to 5.0.1

Version 5.0.1:

- If a 4.x data file is the cause of a "file is not a database" error, then use
  a more specific error message, "Looks like a coverage 4.x data file, are you
  mixing versions of coverage?"  Helps diagnose the problems described in
  `issue 886`_.

- Measurement contexts and relative file names didn't work together, as
  reported in `issue 899`_ and `issue 900`_.  This is now fixed, thanks to
  David Szotten.

- When using ``coverage run --concurrency=multiprocessing``, all data files
  should be named with parallel-ready suffixes.  5.0 mistakenly named the main
  process' file with no suffix when using ``--append``.  This is now fixed,
  closing `issue 880`_.

- Fixed a problem on Windows when the current directory is changed to a
  different drive (`issue 895`_).  Thanks, Olivier Grisel.

- Updated Python 3.9 support to 3.9a2.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.19 2019/12/15 11:48:31 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-5.0.1
d14 1
@


1.19
log
@py-coverage: updated to 5.0

Major changes in 5.0

This is an overview of the changes in 5.0 since the last version of 4.5.x. This is not a complete list of all changes. See the complete change history for all the details.

Open Questions

How to support SQL access to data? The database schema has to be convenient and efficient for coverage.py’s execution, which would naturally make it an internal implementation detail. But the coverage data is now more complex, and SQL access could be a powerful way to access it, pointing toward a public guaranteed schema. What’s the right balance?

Backward Incompatibilities

Python 2.6, 3.3 and 3.4 are no longer supported.
The CoverageData interface is still public, but has changed.
The data file is now created earlier than it used to be. In some circumstances, you may need to use parallel=true to avoid multiple processes overwriting each others’ data.
When constructing a coverage.Coverage object, data_file can be specified as None to prevent writing any data file at all. In previous versions, an explicit data_file=None argument would use the default of “.coverage”. Fixes issue 871.
The [run] note setting has been deprecated. Using it will result in a warning, and the note will not be written to the data file. The corresponding CoverageData methods have been removed.
The deprecated Reporter.file_reporters property has been removed.
The reporting methods used to permanently apply their arguments to the configuration of the Coverage object. Now they no longer do. The arguments affect the operation of the method, but do not persist.

New Features

Coverage.py can now record the context in which each line was executed. The contexts are stored in the data file and can be used to drill down into why a particular line was run. Static contexts let you specify a label for an entire coverage run, for example to separate coverage for different operating systems or versions of Python. Dynamic contexts can change during a single measurement run. This can be used to record the names of the tests that executed each line. See Measurement contexts for full information.
Coverage’s data storage has changed. In version 4.x, .coverage files were basically JSON. Now, they are SQLite databases. The database schema is documented (Coverage.py database schema), but might still be in flux.
Data can now be “reported” in JSON format, for programmatic use, as requested in issue 720. The new coverage json command writes raw and summarized data to a JSON file. Thanks, Matt Bachmann.
Configuration can now be read from TOML files. This requires installing coverage.py with the [toml] extra. The standard “pyproject.toml” file will be read automatically if no other configuration file is found, with settings in the [tool.coverage.] namespace. Thanks to Frazer McLean for implementation and persistence. Finishes issue 664.
The HTML and textual reports now have a --skip-empty option that skips files with no statements, notably __init__.py files. Thanks, Reya B.
You can specify the command line to run your program with the [run] command_line configuration setting, as requested in issue 695.
An experimental [run] relative_files setting tells coverage to store relative file names in the data file. This makes it easier to run tests in one (or many) environments, and then report in another. It has not had much real-world testing, so it may change in incompatible ways in the future.
Environment variable substitution in configuration files now supports two syntaxes for controlling the behavior of undefined variables: if VARNAME is not defined, ${VARNAME?} will raise an error, and ${VARNAME-default value} will use “default value”.
The location of the configuration file can now be specified with a COVERAGE_RCFILE environment variable, as requested in issue 650.
A new warning (already-imported) is issued if measurable files have already been imported before coverage.py started measurement. See Warnings for more information.
Error handling during reporting has changed slightly. All reporting methods now behave the same. The --ignore-errors option keeps errors from stopping the reporting, but files that couldn’t parse as Python will always be reported as warnings. As with other warnings, you can suppress them with the [run] disable_warnings configuration setting.
Added the classmethod Coverage.current() to get the latest started Coverage instance.

Bugs Fixed

The coverage run command has always adjusted the first entry in sys.path, to properly emulate how Python runs your program. Now this adjustment is skipped if sys.path[0] is already different than Python’s default. This fixes issue 715.
Python files run with -m now have __spec__ defined properly. This fixes issue 745 (about not being able to run unittest tests that spawn subprocesses), and issue 838, which described the problem directly.
Coverage will create directories as needed for the data file if they don’t exist, closing issue 721.
fail_under values more than 100 are reported as errors. Thanks to Mike Fiedler for closing issue 746.
The “missing” values in the text output are now sorted by line number, so that missing branches are reported near the other lines they affect. The values used to show all missing lines, and then all missing branches.
Coverage.py no longer fails if the user program deletes its current directory.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.18 2019/08/05 19:31:44 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-5.0
@


1.18
log
@py-coverage: updated to 4.5.4

Version 4.5.4:
- Multiprocessing support in Python 3.8 was broken, but is now fixed.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.17 2019/03/11 13:55:28 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-4.5.4
@


1.17
log
@py-coverage: updated to 4.5.3

Version 4.5.3:
- Only packaging metadata changes.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.16 2018/11/27 16:31:09 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-4.5.3
d17 1
@


1.16
log
@py-coverage: updated to 4.5.2

Version 4.5.2:
- Namespace packages are supported on Python 3.7, where they used to cause
  TypeErrors about path being None.
- Python 3.8 (as of today!) passes all tests.
- Development moved from Bitbucket to GitHub.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.15 2018/02/12 08:06:56 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-4.5.2
d13 4
a16 4
BUILD_DEPENDS+=	${PYPKGPREFIX}-greenlet-[0-9]*:../../devel/py-greenlet
BUILD_DEPENDS+=	${PYPKGPREFIX}-mock-[0-9]*:../../devel/py-mock
BUILD_DEPENDS+=	${PYPKGPREFIX}-nose-[0-9]*:../../devel/py-nose
BUILD_DEPENDS+=	${PYPKGPREFIX}-unittest-mixins>=1.4:../../devel/py-unittest-mixins
d18 1
a18 1
USE_LANGUAGES=	c
a22 3
do-test:
	cd ${WRKSRC} && nosetests-${PYVERSSUFFIX}

@


1.15
log
@py-coverage: updated to 4.5.1

Version 4.5.1:

- Now that 4.5 properly separated the [run] omit and [report] omit
  settings, an old bug has become apparent.  If you specified a package name
  for [run] source, then omit patterns weren't matched inside that package.
  This bug (issue 638_) is now fixed.

- On Python 3.7, reporting about a decorated function with no body other than a
  docstring would crash coverage.py with an IndexError (issue 640_).  This is
  now fixed.

- Configurer plugins are now reported in the output of --debug=sys.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.14 2018/02/05 16:13:19 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-4.5.1
d9 1
a9 1
HOMEPAGE=	http://nedbatchelder.com/code/coverage/
@


1.14
log
@py-coverage: updated to 4.5

Version 4.5:

- A new kind of plugin is supported: configurators are invoked at start-up to
  allow more complex configuration than the .coveragerc file can easily do.
  See :ref:api_plugin for details.  This solves the complex configuration
  problem described in issue 563_.

- The fail_under option can now be a float.  Note that you must specify the
  [report] precision configuration option for the fractional part to be
  used.  Thanks to Lars Hupfeldt Nielsen for help with the implementation.
  Fixes issue 631_.

- The include and omit options can be specified for both the [run]
  and [report] phases of execution.  4.4.2 introduced some incorrect
  interactions between those phases, where the options for one were confused
  for the other.  This is now corrected, fixing issue 621_ and issue 622_.
  Thanks to Daniel Hahler for seeing more clearly than I could.

- The coverage combine command used to always overwrite the data file, even
  when no data had been read from apparently combinable files.  Now, an error
  is raised if we thought there were files to combine, but in fact none of them
  could be used.  Fixes issue 629_.

- The coverage combine command could get confused about path separators
  when combining data collected on Windows with data collected on Linux, as
  described in issue 618_.  This is now fixed: the result path always uses
  the path separator specified in the [paths] result.

- On Windows, the HTML report could fail when source trees are deeply nested,
  due to attempting to create HTML filenames longer than the 250-character
  maximum.  Now filenames will never get much larger than 200 characters,
  fixing issue 627_.  Thanks to Alex Sandro for helping with the fix.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.13 2017/12/13 08:16:08 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-4.5
@


1.13
log
@py-coverage: use ALTERNATIVES; PLIST changed to avoid conflicts between Python versions; bumped revision
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.12 2017/11/06 10:37:32 adam Exp $
d3 1
a3 1
DISTNAME=	coverage-4.4.2
a4 1
PKGREVISION=	1
d13 2
d16 1
a16 2
BUILD_DEPENDS+=	${PYPKGPREFIX}-mock-[0-9]*:../../devel/py-mock
BUILD_DEPENDS+=	${PYPKGPREFIX}-greenlet-[0-9]*:../../devel/py-greenlet
@


1.12
log
@py-coverage: updated to 4.4.2

Version 4.4.2:

- Support for Python 3.7.  In some cases, class and module docstrings are no
  longer counted in statement totals, which could slightly change your total
  results.

- Specifying both ``--source`` and ``--include`` no longer silently ignores the
  include setting, instead it displays a warning. Thanks, Loïc Dachary.  Closes
  `issue 265`_ and `issue 101`_.

- Fixed a race condition when saving data and multiple threads are tracing
  (`issue 581`_). It could produce a "dictionary changed size during iteration"
  RuntimeError.  I believe this mostly but not entirely fixes the race
  condition.  A true fix would likely be too expensive.

- Configuration values which are file paths will now apply tilde-expansion,
  closing `issue 589`_.

- Now secondary config files like tox.ini and setup.cfg can be specified
  explicitly, and prefixed sections like `[coverage:run]` will be read. Fixes
  `issue 588`_.

- Be more flexible about the command name displayed by help, fixing
  `issue 600`_.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.11 2017/05/17 11:39:58 adam Exp $
d5 1
d21 1
a21 1
	${RM} ${DESTDIR}${PREFIX}/bin/coverage
@


1.11
log
@Version 4.4.1
- No code changes: just corrected packaging for Python 2.7 Linux wheels.

Version 4.4
- Reports could produce the wrong file names for packages, reporting ``pkg.py``
  instead of the correct ``pkg/__init__.py``.  This is now fixed.  Thanks, Dirk
  Thomas.

- XML reports could produce ``<source>`` and ``<class>`` lines that together
  didn't specify a valid source file path.  This is now fixed. (`issue 526`_)

- Namespace packages are no longer warned as having no code. (`issue 572`_)

- Code that uses ``sys.settrace(sys.gettrace())`` in a file that wasn't being
  coverage-measured would prevent correct coverage measurement in following
  code. An example of this was running doctests programmatically. This is now
  fixed. (`issue 575`_)

- Errors printed by the ``coverage`` command now go to stderr instead of
  stdout.

- Running ``coverage xml`` in a directory named with non-ASCII characters would
  fail under Python 2. This is now fixed. (`issue 573`_)
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.10 2016/08/28 15:48:29 wiz Exp $
d3 1
a3 1
DISTNAME=	coverage-4.4.1
@


1.10
log
@Remove unnecessary PLIST_SUBST and FILES_SUBST that are now provided
by the infrastructure.

Mark a couple more packages as not ready for python-3.x.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.9 2016/06/08 17:43:24 wiz Exp $
d3 1
a3 1
DISTNAME=	coverage-4.0.2
a18 3
post-extract:
	${CHMOD} +r ${WRKSRC}/coverage.egg-info/*

@


1.9
log
@Switch to MASTER_SITES_PYPI.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.8 2015/11/07 21:43:21 wiz Exp $
a17 1
PLIST_SUBST=	PYVERSSUFFIX=${PYVERSSUFFIX}
@


1.8
log
@Add some more test dependencies, and run the correct tool for testing.

Still more changes needed to get this anywhere approximatelysuccessful.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.7 2015/11/07 19:12:09 wiz Exp $
d6 1
a6 1
MASTER_SITES=	http://pypi.python.org/packages/source/c/coverage/
@


1.7
log
@Update py-coverage to 4.0.2:

Version 4.0.2 --- 4 November 2015
---------------------------------

- More work on supporting unusually encoded source. Fixed `issue 431`_.

- Files or directories with non-ASCII characters are now handled properly,
  fixing `issue 432`_.

- Setting a trace function with sys.settrace was broken by a change in 4.0.1,
  as reported in `issue 436`_.  This is now fixed.

- Officially support PyPy 4.0, which required no changes, just updates to the
  docs.

.. _issue 431: https://bitbucket.org/ned/coveragepy/issues/431/couldnt-parse-python-file-with-cp1252
.. _issue 432: https://bitbucket.org/ned/coveragepy/issues/432/path-with-unicode-characters-various
.. _issue 436: https://bitbucket.org/ned/coveragepy/issues/436/disabled-coverage-ctracer-may-rise-from


Version 4.0.1 --- 13 October 2015
---------------------------------

- When combining data files, unreadable files will now generate a warning
  instead of failing the command.  This is more in line with the older
  coverage.py v3.7.1 behavior, which silently ignored unreadable files.
  Prompted by `issue 418`_.

- The --skip-covered option would skip reporting on 100% covered files, but
  also skipped them when calculating total coverage.  This was wrong, it should
  only remove lines from the report, not change the final answer.  This is now
  fixed, closing `issue 423`_.

- In 4.0, the data file recorded a summary of the system on which it was run.
  Combined data files would keep all of those summaries.  This could lead to
  enormous data files consisting of mostly repetitive useless information. That
  summary is now gone, fixing `issue 415`_.  If you want summary information,
  get in touch, and we'll figure out a better way to do it.

- Test suites that mocked os.path.exists would experience strange failures, due
  to coverage.py using their mock inadvertently.  This is now fixed, closing
  `issue 416`_.

- Importing a ``__init__`` module explicitly would lead to an error:
  ``AttributeError: 'module' object has no attribute '__path__'``, as reported
  in `issue 410`_.  This is now fixed.

- Code that uses ``sys.settrace(sys.gettrace())`` used to incur a more than 2x
  speed penalty.  Now there's no penalty at all. Fixes `issue 397`_.

- Pyexpat C code will no longer be recorded as a source file, fixing
  `issue 419`_.

- The source kit now contains all of the files needed to have a complete source
  tree, re-fixing `issue 137`_ and closing `issue 281`_.

.. _issue 281: https://bitbucket.org/ned/coveragepy/issues/281/supply-scripts-for-testing-in-the
.. _issue 397: https://bitbucket.org/ned/coveragepy/issues/397/stopping-and-resuming-coverage-with
.. _issue 410: https://bitbucket.org/ned/coveragepy/issues/410/attributeerror-module-object-has-no
.. _issue 415: https://bitbucket.org/ned/coveragepy/issues/415/repeated-coveragedataupdates-cause
.. _issue 416: https://bitbucket.org/ned/coveragepy/issues/416/mocking-ospathexists-causes-failures
.. _issue 418: https://bitbucket.org/ned/coveragepy/issues/418/json-parse-error
.. _issue 419: https://bitbucket.org/ned/coveragepy/issues/419/nosource-no-source-for-code-path-to-c
.. _issue 423: https://bitbucket.org/ned/coveragepy/issues/423/skip_covered-changes-reported-total


Version 4.0 --- 20 September 2015
---------------------------------

No changes from 4.0b3


Version 4.0b3 --- 7 September 2015
----------------------------------

- Reporting on an unmeasured file would fail with a traceback.  This is now
  fixed, closing `issue 403`_.

- The Jenkins ShiningPanda plugin looks for an obsolete file name to find the
  HTML reports to publish, so it was failing under coverage.py 4.0.  Now we
  create that file if we are running under Jenkins, to keep things working
  smoothly. `issue 404`_.

- Kits used to include tests and docs, but didn't install them anywhere, or
  provide all of the supporting tools to make them useful.  Kits no longer
  include tests and docs.  If you were using them from the older packages, get
  in touch and help me understand how.

.. _issue 403: https://bitbucket.org/ned/coveragepy/issues/403/hasherupdate-fails-with-typeerror-nonetype
.. _issue 404: https://bitbucket.org/ned/coveragepy/issues/404/shiningpanda-jenkins-plugin-cant-find-html



Version 4.0b2 --- 22 August 2015
--------------------------------

- 4.0b1 broke --append creating new data files.  This is now fixed, closing
  `issue 392`_.

- ``py.test --cov`` can write empty data, then touch files due to ``--source``,
  which made coverage.py mistakenly force the data file to record lines instead
  of arcs.  This would lead to a "Can't combine line data with arc data" error
  message.  This is now fixed, and changed some method names in the
  CoverageData interface.  Fixes `issue 399`_.

- `CoverageData.read_fileobj` and `CoverageData.write_fileobj` replace the
  `.read` and `.write` methods, and are now properly inverses of each other.

- When using ``report --skip-covered``, a message will now be included in the
  report output indicating how many files were skipped, and if all files are
  skipped, coverage.py won't accidentally scold you for having no data to
  report.  Thanks, Krystian Kichewko.

- A new conversion utility has been added:  ``python -m coverage.pickle2json``
  will convert v3.x pickle data files to v4.x JSON data files.  Thanks,
  Alexander Todorov.  Closes `issue 395`_.

- A new version identifier is available, `coverage.version_info`, a plain tuple
  of values similar to `sys.version_info`_.

.. _issue 392: https://bitbucket.org/ned/coveragepy/issues/392/run-append-doesnt-create-coverage-file
.. _issue 395: https://bitbucket.org/ned/coveragepy/issues/395/rfe-read-pickled-files-as-well-for
.. _issue 399: https://bitbucket.org/ned/coveragepy/issues/399/coverageexception-cant-combine-line-data
.. _sys.version_info: https://docs.python.org/3/library/sys.html#sys.version_info


Version 4.0b1 --- 2 August 2015
-------------------------------

- Coverage.py is now licensed under the Apache 2.0 license.  See NOTICE.txt for
  details.  Closes `issue 313`_.

- The data storage has been completely revamped.  The data file is now
  JSON-based instead of a pickle, closing `issue 236`_.  The `CoverageData`
  class is now a public supported documented API to the data file.

- A new configuration option, ``[run] note``, lets you set a note that will be
  stored in the `runs` section of the data file.  You can use this to annotate
  the data file with any information you like.

- Unrecognized configuration options will now print an error message and stop
  coverage.py.  This should help prevent configuration mistakes from passing
  silently.  Finishes `issue 386`_.

- In parallel mode, ``coverage erase`` will now delete all of the data files,
  fixing `issue 262`_.

- Coverage.py now accepts a directory name for ``coverage run`` and will run a
  ``__main__.py`` found there, just like Python will.  Fixes `issue 252`_.
  Thanks, Dmitry Trofimov.

- The XML report now includes a ``missing-branches`` attribute.  Thanks, Steve
  Peak.  This is not a part of the Cobertura DTD, so the XML report no longer
  references the DTD.

- Missing branches in the HTML report now have a bit more information in the
  right-hand annotations.  Hopefully this will make their meaning clearer.

- All the reporting functions now behave the same if no data had been
  collected, exiting with a status code of 1.  Fixed ``fail_under`` to be
  applied even when the report is empty.  Thanks, Ionel Cristian Mărieș.

- Plugins are now initialized differently.  Instead of looking for a class
  called ``Plugin``, coverage.py looks for a function called ``coverage_init``.

- A file-tracing plugin can now ask to have built-in Python reporting by
  returning `"python"` from its `file_reporter()` method.

- Code that was executed with `exec` would be mis-attributed to the file that
  called it.  This is now fixed, closing `issue 380`_.

- The ability to use item access on `Coverage.config` (introduced in 4.0a2) has
  been changed to a more explicit `Coverage.get_option` and
  `Coverage.set_option` API.

- The ``Coverage.use_cache`` method is no longer supported.

- The private method ``Coverage._harvest_data`` is now called
  ``Coverage.get_data``, and returns the ``CoverageData`` containing the
  collected data.

- The project is consistently referred to as "coverage.py" throughout the code
  and the documentation, closing `issue 275`_.

- Combining data files with an explicit configuration file was broken in 4.0a6,
  but now works again, closing `issue 385`_.

- ``coverage combine`` now accepts files as well as directories.

- The speed is back to 3.7.1 levels, after having slowed down due to plugin
  support, finishing up `issue 387`_.

.. _issue 236: https://bitbucket.org/ned/coveragepy/issues/236/pickles-are-bad-and-you-should-feel-bad
.. _issue 252: https://bitbucket.org/ned/coveragepy/issues/252/coverage-wont-run-a-program-with
.. _issue 262: https://bitbucket.org/ned/coveragepy/issues/262/when-parallel-true-erase-should-erase-all
.. _issue 275: https://bitbucket.org/ned/coveragepy/issues/275/refer-consistently-to-project-as-coverage
.. _issue 313: https://bitbucket.org/ned/coveragepy/issues/313/add-license-file-containing-2-3-or-4
.. _issue 380: https://bitbucket.org/ned/coveragepy/issues/380/code-executed-by-exec-excluded-from
.. _issue 385: https://bitbucket.org/ned/coveragepy/issues/385/coverage-combine-doesnt-work-with-rcfile
.. _issue 386: https://bitbucket.org/ned/coveragepy/issues/386/error-on-unrecognised-configuration
.. _issue 387: https://bitbucket.org/ned/coveragepy/issues/387/performance-degradation-from-371-to-40

.. 40 issues closed in 4.0 below here


Version 4.0a6 --- 21 June 2015
------------------------------

- Python 3.5b2 and PyPy 2.6.0 are supported.

- The original module-level function interface to coverage.py is no longer
  supported.  You must now create a ``coverage.Coverage`` object, and use
  methods on it.

- The ``coverage combine`` command now accepts any number of directories as
  arguments, and will combine all the data files from those directories.  This
  means you don't have to copy the files to one directory before combining.
  Thanks, Christine Lytwynec.  Finishes `issue 354`_.

- Branch coverage couldn't properly handle certain extremely long files. This
  is now fixed (`issue 359`_).

- Branch coverage didn't understand yield statements properly.  Mickie Betz
  persisted in pursuing this despite Ned's pessimism.  Fixes `issue 308`_ and
  `issue 324`_.

- The COVERAGE_DEBUG environment variable can be used to set the ``[run] debug``
  configuration option to control what internal operations are logged.

- HTML reports were truncated at formfeed characters.  This is now fixed
  (`issue 360`_).  It's always fun when the problem is due to a `bug in the
  Python standard library <http://bugs.python.org/issue19035>`_.

- Files with incorrect encoding declaration comments are no longer ignored by
  the reporting commands, fixing `issue 351`_.

- HTML reports now include a timestamp in the footer, closing `issue 299`_.
  Thanks, Conrad Ho.

- HTML reports now begrudgingly use double-quotes rather than single quotes,
  because there are "software engineers" out there writing tools that read HTML
  and somehow have no idea that single quotes exist.  Capitulates to the absurd
  `issue 361`_.  Thanks, Jon Chappell.

- The ``coverage annotate`` command now handles non-ASCII characters properly,
  closing `issue 363`_.  Thanks, Leonardo Pistone.

- Drive letters on Windows were not normalized correctly, now they are. Thanks,
  Ionel Cristian Mărieș.

- Plugin support had some bugs fixed, closing `issue 374`_ and `issue 375`_.
  Thanks, Stefan Behnel.

.. _issue 299: https://bitbucket.org/ned/coveragepy/issue/299/inserted-created-on-yyyy-mm-dd-hh-mm-in
.. _issue 308: https://bitbucket.org/ned/coveragepy/issue/308/yield-lambda-branch-coverage
.. _issue 324: https://bitbucket.org/ned/coveragepy/issue/324/yield-in-loop-confuses-branch-coverage
.. _issue 351: https://bitbucket.org/ned/coveragepy/issue/351/files-with-incorrect-encoding-are-ignored
.. _issue 354: https://bitbucket.org/ned/coveragepy/issue/354/coverage-combine-should-take-a-list-of
.. _issue 359: https://bitbucket.org/ned/coveragepy/issue/359/xml-report-chunk-error
.. _issue 360: https://bitbucket.org/ned/coveragepy/issue/360/html-reports-get-confused-by-l-in-the-code
.. _issue 361: https://bitbucket.org/ned/coveragepy/issue/361/use-double-quotes-in-html-output-to
.. _issue 363: https://bitbucket.org/ned/coveragepy/issue/363/annotate-command-hits-unicode-happy-fun
.. _issue 374: https://bitbucket.org/ned/coveragepy/issue/374/c-tracer-lookups-fail-in
.. _issue 375: https://bitbucket.org/ned/coveragepy/issue/375/ctracer_handle_return-reads-byte-code


Version 4.0a5 --- 16 February 2015
----------------------------------

- Plugin support is now implemented in the C tracer instead of the Python
  tracer. This greatly improves the speed of tracing projects using plugins.

- Coverage.py now always adds the current directory to sys.path, so that
  plugins can import files in the current directory (`issue 358`_).

- If the `config_file` argument to the Coverage constructor is specified as
  ".coveragerc", it is treated as if it were True.  This means setup.cfg is
  also examined, and a missing file is not considered an error (`issue 357`_).

- Wildly experimental: support for measuring processes started by the
  multiprocessing module.  To use, set ``--concurrency=multiprocessing``,
  either on the command line or in the .coveragerc file (`issue 117`_). Thanks,
  Eduardo Schettino.  Currently, this does not work on Windows.

- A new warning is possible, if a desired file isn't measured because it was
  imported before coverage.py was started (`issue 353`_).

- The `coverage.process_startup` function now will start coverage measurement
  only once, no matter how many times it is called.  This fixes problems due
  to unusual virtualenv configurations (`issue 340`_).

- Added 3.5.0a1 to the list of supported CPython versions.

.. _issue 117: https://bitbucket.org/ned/coveragepy/issue/117/enable-coverage-measurement-of-code-run-by
.. _issue 340: https://bitbucket.org/ned/coveragepy/issue/340/keyerror-subpy
.. _issue 353: https://bitbucket.org/ned/coveragepy/issue/353/40a3-introduces-an-unexpected-third-case
.. _issue 357: https://bitbucket.org/ned/coveragepy/issue/357/behavior-changed-when-coveragerc-is
.. _issue 358: https://bitbucket.org/ned/coveragepy/issue/358/all-coverage-commands-should-adjust


Version 4.0a4 --- 25 January 2015
---------------------------------

- Plugins can now provide sys_info for debugging output.

- Started plugins documentation.

- Prepared to move the docs to readthedocs.org.


Version 4.0a3 --- 20 January 2015
---------------------------------

- Reports now use file names with extensions.  Previously, a report would
  describe a/b/c.py as "a/b/c".  Now it is shown as "a/b/c.py".  This allows
  for better support of non-Python files, and also fixed `issue 69`_.

- The XML report now reports each directory as a package again.  This was a bad
  regression, I apologize.  This was reported in `issue 235`_, which is now
  fixed.

- A new configuration option for the XML report: ``[xml] package_depth``
  controls which directories are identified as packages in the report.
  Directories deeper than this depth are not reported as packages.
  The default is that all directories are reported as packages.
  Thanks, Lex Berezhny.

- When looking for the source for a frame, check if the file exists. On
  Windows, .pyw files are no longer recorded as .py files. Along the way, this
  fixed `issue 290`_.

- Empty files are now reported as 100% covered in the XML report, not 0%
  covered (`issue 345`_).

- Regexes in the configuration file are now compiled as soon as they are read,
  to provide error messages earlier (`issue 349`_).

.. _issue 69: https://bitbucket.org/ned/coveragepy/issue/69/coverage-html-overwrite-files-that-doesnt
.. _issue 235: https://bitbucket.org/ned/coveragepy/issue/235/package-name-is-missing-in-xml-report
.. _issue 290: https://bitbucket.org/ned/coveragepy/issue/290/running-programmatically-with-pyw-files
.. _issue 345: https://bitbucket.org/ned/coveragepy/issue/345/xml-reports-line-rate-0-for-empty-files
.. _issue 349: https://bitbucket.org/ned/coveragepy/issue/349/bad-regex-in-config-should-get-an-earlier


Version 4.0a2 --- 14 January 2015
---------------------------------

- Officially support PyPy 2.4, and PyPy3 2.4.  Drop support for
  CPython 3.2 and older versions of PyPy.  The code won't work on CPython 3.2.
  It will probably still work on older versions of PyPy, but I'm not testing
  against them.

- Plugins!

- The original command line switches (`-x` to run a program, etc) are no
  longer supported.

- A new option: `coverage report --skip-covered` will reduce the number of
  files reported by skipping files with 100% coverage.  Thanks, Krystian
  Kichewko.  This means that empty `__init__.py` files will be skipped, since
  they are 100% covered, closing `issue 315`_.

- You can now specify the ``--fail-under`` option in the ``.coveragerc`` file
  as the ``[report] fail_under`` option.  This closes `issue 314`_.

- The ``COVERAGE_OPTIONS`` environment variable is no longer supported.  It was
  a hack for ``--timid`` before configuration files were available.

- The HTML report now has filtering.  Type text into the Filter box on the
  index page, and only modules with that text in the name will be shown.
  Thanks, Danny Allen.

- The textual report and the HTML report used to report partial branches
  differently for no good reason.  Now the text report's "missing branches"
  column is a "partial branches" column so that both reports show the same
  numbers.  This closes `issue 342`_.

- If you specify a ``--rcfile`` that cannot be read, you will get an error
  message.  Fixes `issue 343`_.

- The ``--debug`` switch can now be used on any command.

- You can now programmatically adjust the configuration of coverage.py by
  setting items on `Coverage.config` after construction.

- A module run with ``-m`` can be used as the argument to ``--source``, fixing
  `issue 328`_.  Thanks, Buck Evan.

- The regex for matching exclusion pragmas has been fixed to allow more kinds
  of whitespace, fixing `issue 334`_.

- Made some PyPy-specific tweaks to improve speed under PyPy.  Thanks, Alex
  Gaynor.

- In some cases, with a source file missing a final newline, coverage.py would
  count statements incorrectly.  This is now fixed, closing `issue 293`_.

- The status.dat file that HTML reports use to avoid re-creating files that
  haven't changed is now a JSON file instead of a pickle file.  This obviates
  `issue 287`_ and `issue 237`_.

.. _issue 237: https://bitbucket.org/ned/coveragepy/issue/237/htmlcov-with-corrupt-statusdat
.. _issue 287: https://bitbucket.org/ned/coveragepy/issue/287/htmlpy-doesnt-specify-pickle-protocol
.. _issue 293: https://bitbucket.org/ned/coveragepy/issue/293/number-of-statement-detection-wrong-if-no
.. _issue 314: https://bitbucket.org/ned/coveragepy/issue/314/fail_under-param-not-working-in-coveragerc
.. _issue 315: https://bitbucket.org/ned/coveragepy/issue/315/option-to-omit-empty-files-eg-__init__py
.. _issue 328: https://bitbucket.org/ned/coveragepy/issue/328/misbehavior-in-run-source
.. _issue 334: https://bitbucket.org/ned/coveragepy/issue/334/pragma-not-recognized-if-tab-character
.. _issue 342: https://bitbucket.org/ned/coveragepy/issue/342/console-and-html-coverage-reports-differ
.. _issue 343: https://bitbucket.org/ned/coveragepy/issue/343/an-explicitly-named-non-existent-config


Version 4.0a1 --- 27 September 2014
-----------------------------------

- Python versions supported are now CPython 2.6, 2.7, 3.2, 3.3, and 3.4, and
  PyPy 2.2.

- Gevent, eventlet, and greenlet are now supported, closing `issue 149`_.
  The ``concurrency`` setting specifies the concurrency library in use.  Huge
  thanks to Peter Portante for initial implementation, and to Joe Jevnik for
  the final insight that completed the work.

- Options are now also read from a setup.cfg file, if any.  Sections are
  prefixed with "coverage:", so the ``[run]`` options will be read from the
  ``[coverage:run]`` section of setup.cfg.  Finishes `issue 304`_.

- The ``report -m`` command can now show missing branches when reporting on
  branch coverage.  Thanks, Steve Leonard. Closes `issue 230`_.

- The XML report now contains a <source> element, fixing `issue 94`_.  Thanks
  Stan Hu.

- The class defined in the coverage module is now called ``Coverage`` instead
  of ``coverage``, though the old name still works, for backward compatibility.

- The ``fail-under`` value is now rounded the same as reported results,
  preventing paradoxical results, fixing `issue 284`_.

- The XML report will now create the output directory if need be, fixing
  `issue 285`_.  Thanks, Chris Rose.

- HTML reports no longer raise UnicodeDecodeError if a Python file has
  undecodable characters, fixing `issue 303`_ and `issue 331`_.

- The annotate command will now annotate all files, not just ones relative to
  the current directory, fixing `issue 57`_.

- The coverage module no longer causes deprecation warnings on Python 3.4 by
  importing the imp module, fixing `issue 305`_.

- Encoding declarations in source files are only considered if they are truly
  comments.  Thanks, Anthony Sottile.

.. _issue 57: https://bitbucket.org/ned/coveragepy/issue/57/annotate-command-fails-to-annotate-many
.. _issue 94: https://bitbucket.org/ned/coveragepy/issue/94/coverage-xml-doesnt-produce-sources
.. _issue 149: https://bitbucket.org/ned/coveragepy/issue/149/coverage-gevent-looks-broken
.. _issue 230: https://bitbucket.org/ned/coveragepy/issue/230/show-line-no-for-missing-branches-in
.. _issue 284: https://bitbucket.org/ned/coveragepy/issue/284/fail-under-should-show-more-precision
.. _issue 285: https://bitbucket.org/ned/coveragepy/issue/285/xml-report-fails-if-output-file-directory
.. _issue 303: https://bitbucket.org/ned/coveragepy/issue/303/unicodedecodeerror
.. _issue 304: https://bitbucket.org/ned/coveragepy/issue/304/attempt-to-get-configuration-from-setupcfg
.. _issue 305: https://bitbucket.org/ned/coveragepy/issue/305/pendingdeprecationwarning-the-imp-module
.. _issue 331: https://bitbucket.org/ned/coveragepy/issue/331/failure-of-encoding-detection-on-python2
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.6 2014/01/26 00:52:04 wiz Exp $
d14 2
d26 3
@


1.6
log
@Update to 3.7.1:

3.7.1 -- 13 December 2013
-------------------------

- Improved the speed of HTML report generation by about 20%.

- Fixed the mechanism for finding OS-installed static files for the HTML report
  so that it will actually find OS-installed static files.


3.7 --- 6 October 2013
----------------------

- Added the ``--debug`` switch to ``coverage run``.  It accepts a list of
  options indicating the type of internal activity to log to stderr.

- Improved the branch coverage facility, fixing `issue 92`_ and `issue 175`_.

- Running code with ``coverage run -m`` now behaves more like Python does,
  setting sys.path properly, which fixes `issue 207`_ and `issue 242`_.

- Coverage can now run .pyc files directly, closing `issue 264`_.

- Coverage properly supports .pyw files, fixing `issue 261`_.

- Omitting files within a tree specified with the ``source`` option would
  cause them to be incorrectly marked as unexecuted, as described in
  `issue 218`_.  This is now fixed.

- When specifying paths to alias together during data combining, you can now
  specify relative paths, fixing `issue 267`_.

- Most file paths can now be specified with username expansion (``~/src``, or
  ``~build/src``, for example), and with environment variable expansion
  (``build/$BUILDNUM/src``).

- Trying to create an XML report with no files to report on, would cause a
  ZeroDivideError, but no longer does, fixing `issue 250`_.

- When running a threaded program under the Python tracer, coverage no longer
  issues a spurious warning about the trace function changing: "Trace function
  changed, measurement is likely wrong: None."  This fixes `issue 164`_.

- Static files necessary for HTML reports are found in system-installed places,
  to ease OS-level packaging of coverage.py.  Closes `issue 259`_.

- Source files with encoding declarations, but a blank first line, were not
  decoded properly.  Now they are.  Thanks, Roger Hu.

- The source kit now includes the ``__main__.py`` file in the root coverage
  directory, fixing `issue 255`_.

.. _issue 92: https://bitbucket.org/ned/coveragepy/issue/92/finally-clauses-arent-treated-properly-in
.. _issue 164: https://bitbucket.org/ned/coveragepy/issue/164/trace-function-changed-warning-when-using
.. _issue 175: https://bitbucket.org/ned/coveragepy/issue/175/branch-coverage-gets-confused-in-certain
.. _issue 207: https://bitbucket.org/ned/coveragepy/issue/207/run-m-cannot-find-module-or-package-in
.. _issue 242: https://bitbucket.org/ned/coveragepy/issue/242/running-a-two-level-package-doesnt-work
.. _issue 218: https://bitbucket.org/ned/coveragepy/issue/218/run-command-does-not-respect-the-omit-flag
.. _issue 250: https://bitbucket.org/ned/coveragepy/issue/250/uncaught-zerodivisionerror-when-generating
.. _issue 255: https://bitbucket.org/ned/coveragepy/issue/255/directory-level-__main__py-not-included-in
.. _issue 259: https://bitbucket.org/ned/coveragepy/issue/259/allow-use-of-system-installed-third-party
.. _issue 261: https://bitbucket.org/ned/coveragepy/issue/261/pyw-files-arent-reported-properly
.. _issue 264: https://bitbucket.org/ned/coveragepy/issue/264/coverage-wont-run-pyc-files
.. _issue 267: https://bitbucket.org/ned/coveragepy/issue/267/relative-path-aliases-dont-work


Version 3.6 --- 5 January 2013
------------------------------

- Added a page to the docs about troublesome situations, closing `issue 226`_,
  and added some info to the TODO file, closing `issue 227`_.

.. _issue 226: https://bitbucket.org/ned/coveragepy/issue/226/make-readme-section-to-describe-when
.. _issue 227: https://bitbucket.org/ned/coveragepy/issue/227/update-todo


Version 3.6b3 --- 29 December 2012
----------------------------------

- Beta 2 broke the nose plugin. It's fixed again, closing `issue 224`_.

.. _issue 224: https://bitbucket.org/ned/coveragepy/issue/224/36b2-breaks-nosexcover


Version 3.6b2 --- 23 December 2012
----------------------------------

- Coverage.py runs on Python 2.3 and 2.4 again. It was broken in 3.6b1.

- The C extension is optionally compiled using a different more widely-used
  technique, taking another stab at fixing `issue 80`_ once and for all.

- Combining data files would create entries for phantom files if used with
  ``source`` and path aliases.  It no longer does.

- ``debug sys`` now shows the configuration file path that was read.

- If an oddly-behaved package claims that code came from an empty-string
  filename, coverage.py no longer associates it with the directory name,
  fixing `issue 221`_.

.. _issue 80: https://bitbucket.org/ned/coveragepy/issue/80/is-there-a-duck-typing-way-to-know-we-cant
.. _issue 221: https://bitbucket.org/ned/coveragepy/issue/221/coveragepy-incompatible-with-pyratemp


Version 3.6b1 --- 28 November 2012
----------------------------------

- Wildcards in ``include=`` and ``omit=`` arguments were not handled properly
  in reporting functions, though they were when running.  Now they are handled
  uniformly, closing `issue 143`_ and `issue 163`_.  **NOTE**: it is possible
  that your configurations may now be incorrect.  If you use ``include`` or
  ``omit`` during reporting, whether on the command line, through the API, or
  in a configuration file, please check carefully that you were not relying on
  the old broken behavior.

- The **report**, **html**, and **xml** commands now accept a ``--fail-under``
  switch that indicates in the exit status whether the coverage percentage was
  less than a particular value.  Closes `issue 139`_.

- The reporting functions coverage.report(), coverage.html_report(), and
  coverage.xml_report() now all return a float, the total percentage covered
  measurement.

- The HTML report's title can now be set in the configuration file, with the
  ``--title`` switch on the command line, or via the API.

- Configuration files now support substitution of environment variables, using
  syntax like ``${WORD}``.  Closes `issue 97`_.

- Embarrassingly, the `[xml] output=` setting in the .coveragerc file simply
  didn't work.  Now it does.

- The XML report now consistently uses filenames for the filename attribute,
  rather than sometimes using module names.  Fixes `issue 67`_.
  Thanks, Marcus Cobden.

- Coverage percentage metrics are now computed slightly differently under
  branch coverage.  This means that completely unexecuted files will now
  correctly have 0% coverage, fixing `issue 156`_.  This also means that your
  total coverage numbers will generally now be lower if you are measuring
  branch coverage.

- When installing, now in addition to creating a "coverage" command, two new
  aliases are also installed.  A "coverage2" or "coverage3" command will be
  created, depending on whether you are installing in Python 2.x or 3.x.
  A "coverage-X.Y" command will also be created corresponding to your specific
  version of Python.  Closes `issue 111`_.

- The coverage.py installer no longer tries to bootstrap setuptools or
  Distribute.  You must have one of them installed first, as `issue 202`_
  recommended.

- The coverage.py kit now includes docs (closing `issue 137`_) and tests.

- On Windows, files are now reported in their correct case, fixing `issue 89`_
  and `issue 203`_.

- If a file is missing during reporting, the path shown in the error message
  is now correct, rather than an incorrect path in the current directory.
  Fixes `issue 60`_.

- Running an HTML report in Python 3 in the same directory as an old Python 2
  HTML report would fail with a UnicodeDecodeError. This issue (`issue 193`_)
  is now fixed.

- Fixed yet another error trying to parse non-Python files as Python, this
  time an IndentationError, closing `issue 82`_ for the fourth time...

- If `coverage xml` fails because there is no data to report, it used to
  create a zero-length XML file.  Now it doesn't, fixing `issue 210`_.

- Jython files now work with the ``--source`` option, fixing `issue 100`_.

- Running coverage under a debugger is unlikely to work, but it shouldn't fail
  with "TypeError: 'NoneType' object is not iterable".  Fixes `issue 201`_.

- On some Linux distributions, when installed with the OS package manager,
  coverage.py would report its own code as part of the results.  Now it won't,
  fixing `issue 214`_, though this will take some time to be repackaged by the
  operating systems.

- Docstrings for the legacy singleton methods are more helpful.  Thanks Marius
  Gedminas.  Closes `issue 205`_.

- The pydoc tool can now show docmentation for the class `coverage.coverage`.
  Closes `issue 206`_.

- Added a page to the docs about contributing to coverage.py, closing
  `issue 171`_.

- When coverage.py ended unsuccessfully, it may have reported odd errors like
  ``'NoneType' object has no attribute 'isabs'``.  It no longer does,
  so kiss `issue 153`_ goodbye.

.. _issue 60: https://bitbucket.org/ned/coveragepy/issue/60/incorrect-path-to-orphaned-pyc-files
.. _issue 67: https://bitbucket.org/ned/coveragepy/issue/67/xml-report-filenames-may-be-generated
.. _issue 82: https://bitbucket.org/ned/coveragepy/issue/82/tokenerror-when-generating-html-report
.. _issue 89: https://bitbucket.org/ned/coveragepy/issue/89/on-windows-all-packages-are-reported-in
.. _issue 97: https://bitbucket.org/ned/coveragepy/issue/97/allow-environment-variables-to-be
.. _issue 100: https://bitbucket.org/ned/coveragepy/issue/100/source-directive-doesnt-work-for-packages
.. _issue 111: https://bitbucket.org/ned/coveragepy/issue/111/when-installing-coverage-with-pip-not
.. _issue 137: https://bitbucket.org/ned/coveragepy/issue/137/provide-docs-with-source-distribution
.. _issue 139: https://bitbucket.org/ned/coveragepy/issue/139/easy-check-for-a-certain-coverage-in-tests
.. _issue 143: https://bitbucket.org/ned/coveragepy/issue/143/omit-doesnt-seem-to-work-in-coverage
.. _issue 153: https://bitbucket.org/ned/coveragepy/issue/153/non-existent-filename-triggers
.. _issue 156: https://bitbucket.org/ned/coveragepy/issue/156/a-completely-unexecuted-file-shows-14
.. _issue 163: https://bitbucket.org/ned/coveragepy/issue/163/problem-with-include-and-omit-filename
.. _issue 171: https://bitbucket.org/ned/coveragepy/issue/171/how-to-contribute-and-run-tests
.. _issue 193: https://bitbucket.org/ned/coveragepy/issue/193/unicodedecodeerror-on-htmlpy
.. _issue 201: https://bitbucket.org/ned/coveragepy/issue/201/coverage-using-django-14-with-pydb-on
.. _issue 202: https://bitbucket.org/ned/coveragepy/issue/202/get-rid-of-ez_setuppy-and
.. _issue 203: https://bitbucket.org/ned/coveragepy/issue/203/duplicate-filenames-reported-when-filename
.. _issue 205: https://bitbucket.org/ned/coveragepy/issue/205/make-pydoc-coverage-more-friendly
.. _issue 206: https://bitbucket.org/ned/coveragepy/issue/206/pydoc-coveragecoverage-fails-with-an-error
.. _issue 210: https://bitbucket.org/ned/coveragepy/issue/210/if-theres-no-coverage-data-coverage-xml
.. _issue 214: https://bitbucket.org/ned/coveragepy/issue/214/coveragepy-measures-itself-on-precise


Version 3.5.3 --- 29 September 2012
-----------------------------------

- Line numbers in the HTML report line up better with the source lines, fixing
  `issue 197`_, thanks Marius Gedminas.

- When specifying a directory as the source= option, the directory itself no
  longer needs to have a ``__init__.py`` file, though its subdirectories do, to
  be considered as source files.

- Files encoded as UTF-8 with a BOM are now properly handled, fixing
  `issue 179`_.  Thanks, Pablo Carballo.

- Fixed more cases of non-Python files being reported as Python source, and
  then not being able to parse them as Python.  Closes `issue 82`_ (again).
  Thanks, Julian Berman.

- Fixed memory leaks under Python 3, thanks, Brett Cannon. Closes `issue 147`_.

- Optimized .pyo files may not have been handled correctly, `issue 195`_.
  Thanks, Marius Gedminas.

- Certain unusually named file paths could have been mangled during reporting,
  `issue 194`_.  Thanks, Marius Gedminas.

- Try to do a better job of the impossible task of detecting when we can't
  build the C extension, fixing `issue 183`_.

- Testing is now done with `tox`_, thanks, Marc Abramowitz.

.. _issue 82: https://bitbucket.org/ned/coveragepy/issue/82/tokenerror-when-generating-html-report
.. _issue 147: https://bitbucket.org/ned/coveragepy/issue/147/massive-memory-usage-by-ctracer
.. _issue 179: https://bitbucket.org/ned/coveragepy/issue/179/htmlreporter-fails-when-source-file-is
.. _issue 183: https://bitbucket.org/ned/coveragepy/issue/183/install-fails-for-python-23
.. _issue 194: https://bitbucket.org/ned/coveragepy/issue/194/filelocatorrelative_filename-could-mangle
.. _issue 195: https://bitbucket.org/ned/coveragepy/issue/195/pyo-file-handling-in-codeunit
.. _issue 197: https://bitbucket.org/ned/coveragepy/issue/197/line-numbers-in-html-report-do-not-align
.. _tox: http://tox.readthedocs.org/



Version 3.5.2 --- 4 May 2012
----------------------------

No changes since 3.5.2.b1


Version 3.5.2b1 --- 29 April 2012
---------------------------------

- The HTML report has slightly tweaked controls: the buttons at the top of
  the page are color-coded to the source lines they affect.

- Custom CSS can be applied to the HTML report by specifying a CSS file as
  the extra_css configuration value in the [html] section.

- Source files with custom encodings declared in a comment at the top are now
  properly handled during reporting on Python 2.  Python 3 always handled them
  properly.  This fixes `issue 157`_.

- Backup files left behind by editors are no longer collected by the source=
  option, fixing `issue 168`_.

- If a file doesn't parse properly as Python, we don't report it as an error
  if the filename seems like maybe it wasn't meant to be Python.  This is a
  pragmatic fix for `issue 82`_.

- The ``-m`` switch on ``coverage report``, which includes missing line numbers
  in the summary report, can now be specifed as ``show_missing`` in the
  config file.  Closes `issue 173`_.

- When running a module with ``coverage run -m <modulename>``, certain details
  of the execution environment weren't the same as for
  ``python -m <modulename>``.  This had the unfortunate side-effect of making
  ``coverage run -m unittest discover`` not work if you had tests in a
  directory named "test".  This fixes `issue 155`_ and `issue 142`_.

- Now the exit status of your product code is properly used as the process
  status when running ``python -m coverage run ...``.  Thanks, JT Olds.

- When installing into pypy, we no longer attempt (and fail) to compile
  the C tracer function, closing `issue 166`_.

.. _issue 82: https://bitbucket.org/ned/coveragepy/issue/82/tokenerror-when-generating-html-report
.. _issue 142: https://bitbucket.org/ned/coveragepy/issue/142/executing-python-file-syspath-is-replaced
.. _issue 155: https://bitbucket.org/ned/coveragepy/issue/155/cant-use-coverage-run-m-unittest-discover
.. _issue 157: https://bitbucket.org/ned/coveragepy/issue/157/chokes-on-source-files-with-non-utf-8
.. _issue 166: https://bitbucket.org/ned/coveragepy/issue/166/dont-try-to-compile-c-extension-on-pypy
.. _issue 168: https://bitbucket.org/ned/coveragepy/issue/168/dont-be-alarmed-by-emacs-droppings
.. _issue 173: https://bitbucket.org/ned/coveragepy/issue/173/theres-no-way-to-specify-show-missing-in
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.5 2014/01/26 00:39:40 wiz Exp $
d3 1
a3 1
DISTNAME=	coverage-3.7.1
d13 2
@


1.5
log
@Do not insist on py-distribute on python-3.x.
Times have changed, and py-setuptools is now the cool kid again.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.4 2012/10/31 11:19:29 asau Exp $
d3 2
a4 2
DISTNAME=	coverage-3.5.1
PKGNAME=	${PYPKGPREFIX}-coverage-3.5.1
d19 3
@


1.4
log
@Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days.
@
text
@d1 1
a1 2
# $NetBSD: Makefile,v 1.3 2012/02/17 18:19:30 drochner Exp $
#
@


1.3
log
@update to 3.5.1
this is a major update, too much to list here, see the CHANGES file
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.2 2012/02/09 12:42:37 obache Exp $
a13 2
PKG_DESTDIR_SUPPORT=	user-destdir

@


1.2
log
@Move chmod for egg-info files from post-install to post-extract.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.1.1.1 2010/08/10 17:03:39 drochner Exp $
d4 2
a5 2
DISTNAME=	coverage-3.3.1
PKGNAME=	${PYPKGPREFIX}-coverage-3.3.1
@


1.1
log
@Initial revision
@
text
@d1 1
a1 1
# $NetBSD$
d19 2
a20 3
EGG_INFODIR= ${EGG_NAME}-py${PYVERSSUFFIX}.egg-info
post-install:
	${CHMOD} +r ${DESTDIR}${PREFIX}/${PYSITELIB}/${EGG_INFODIR}/*
@


1.1.1.1
log
@add py-coverage-3.3.1, a module that measures code coverage, from
Kamel Derouiche per pkgsrc-wip
@
text
@@
