# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
pkgname=py3-trio-websocket
pkgver=0.11.1
pkgrel=1
pkgdesc="WebSocket client and server implementation for py3-trio"
url="https://github.com/python-trio/trio-websocket"
# disable due to issues with py3-trio>=0.25
# https://github.com/python-trio/trio-websocket/issues/187
#arch="noarch"
license="MIT"
depends="
	python3
	py3-trio
	py3-wsproto
	"
makedepends="
	py3-gpep517
	py3-installer
	py3-setuptools
	py3-wheel
	"
checkdepends="
	py3-pytest7
	py3-pytest-trio
	py3-trustme
	"
subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/python-trio/trio-websocket/archive/refs/tags/$pkgver.tar.gz"
builddir="$srcdir/${pkgname#py3-}-$pkgver"

build() {
	gpep517 build-wheel \
		--wheel-dir .dist \
		--output-fd 3 3>&1 >&2
}

check() {
	# exception related tests fails with trio >= 0.25
	# https://github.com/python-trio/trio-websocket/issues/187
	local k="not test_handshake_exception_before_accept"
	k="$k and not test_reject_handshake"
	k="$k and not test_reject_handshake_invalid_info_status"
	k="$k and not test_client_open_timeout"
	k="$k and not test_client_close_timeout"
	k="$k and not test_client_connect_networking_error"
	k="$k and not test_finalization_dropped_exception"

	python3 -m venv --clear --without-pip --system-site-packages .testenv
	.testenv/bin/python3 -m installer .dist/*.whl
	.testenv/bin/python3 -m pytest -k "$k"
}

package() {
	python3 -m installer -d "$pkgdir" \
		.dist/*.whl
}

sha512sums="
4b0eb6f0c012cefedb69b97e9452ba979336fbe9f154799c4c68871b8013e728374e4872a2343ab4d27fa6e25e40c3063e681e80470123d37f13f531be4f6644  py3-trio-websocket-0.11.1.tar.gz
"
