summaryrefslogtreecommitdiff
blob: feb41b7979199293f1b81d4afe1500672fd01ad4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

PYTHON_COMPAT=( pypy3 python3_{8..10} )
inherit distutils-r1

MY_PN="WTForms"
MY_P="${MY_PN}-${PV}"

DESCRIPTION="Flexible forms validation and rendering library for python web development"
HOMEPAGE="https://wtforms.readthedocs.io/"
SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
S="${WORKDIR}/${MY_P}"

LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 x86"

RDEPEND="
	dev-python/markupsafe[${PYTHON_USEDEP}]"

BDEPEND="
	test? (
		dev-python/Babel[${PYTHON_USEDEP}]
		dev-python/python-dateutil[${PYTHON_USEDEP}]
		dev-python/python-email-validator[${PYTHON_USEDEP}]
		dev-python/sqlalchemy[${PYTHON_USEDEP}]
		dev-python/webob[${PYTHON_USEDEP}]
	)
"

distutils_enable_tests pytest

python_prepare_all() {
	# use pytest instead of ugly custom test runner
	cat >> setup.cfg <<-EOF || die
		[tool:pytest]
		python_files = *.py
	EOF

	distutils-r1_python_prepare_all
}

python_test() {
	local ignore=(
		# requires gaetest_common... also upstream doesn't run it at all
		tests/ext_appengine
		# requires old django; also extensions are deprecated anyway
		tests/ext_django
	)
	local deselect=(
		# incompatible with sqlalchemy-1.4
		tests/ext_sqlalchemy.py::QuerySelectFieldTest
		tests/ext_sqlalchemy.py::QuerySelectMultipleFieldTest
	)

	epytest tests ${ignore[@]/#/--ignore } ${deselect[@]/#/--deselect }
}