dev-python/pytest-trio: Backport a test fix for newer trio

Closes: https://bugs.gentoo.org/923163
Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
Michał Górny
2024-02-03 16:09:13 +01:00
parent 81f5cb997b
commit 4cb1caac74
2 changed files with 58 additions and 1 deletions

View File

@@ -0,0 +1,52 @@
From 9cda20bbb966fe1e4ae51921d566c668654ee5e1 Mon Sep 17 00:00:00 2001
From: Vincent Vanlaer <vincent.vanlaer@skynet.be>
Date: Sun, 3 Sep 2023 00:00:54 +0200
Subject: [PATCH 1/2] Remove trio.tests import causing warnings
It is deprecated and the replacement is made private as trio._tests.
While we could be using that, this commit copies over the one relevant
function that is actually necessary. The other two imports just repeat
tests that are already in trio and do not need repeating here.
---
.../_tests/test_hypothesis_interaction.py | 21 ++++++++++++++-----
1 file changed, 16 insertions(+), 5 deletions(-)
diff --git a/pytest_trio/_tests/test_hypothesis_interaction.py b/pytest_trio/_tests/test_hypothesis_interaction.py
index 75aa9f7..cb95a96 100644
--- a/pytest_trio/_tests/test_hypothesis_interaction.py
+++ b/pytest_trio/_tests/test_hypothesis_interaction.py
@@ -1,10 +1,5 @@
import pytest
import trio
-from trio.tests.test_scheduler_determinism import (
- scheduler_trace,
- test_the_trio_scheduler_is_not_deterministic,
- test_the_trio_scheduler_is_deterministic_if_seeded,
-)
from hypothesis import given, settings, strategies as st
from pytest_trio.plugin import _trio_test_runner_factory
@@ -38,6 +33,22 @@ async def test_mark_and_parametrize(x, y):
assert y in (1, 2)
+async def scheduler_trace():
+ """Returns a scheduler-dependent value we can use to check determinism."""
+ trace = []
+
+ async def tracer(name):
+ for i in range(10):
+ trace.append((name, i))
+ await trio.sleep(0)
+
+ async with trio.open_nursery() as nursery:
+ for i in range(5):
+ nursery.start_soon(tracer, i)
+
+ return tuple(trace)
+
+
def test_the_trio_scheduler_is_deterministic_under_hypothesis():
traces = []

View File

@@ -1,4 +1,4 @@
# Copyright 1999-2023 Gentoo Authors
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -37,6 +37,11 @@ distutils_enable_sphinx docs/source \
dev-python/sphinxcontrib-trio
python_prepare_all() {
local PATCHES=(
# https://github.com/python-trio/pytest-trio/pull/135
"${FILESDIR}/${P}-test.patch"
)
# Defining 'pytest_plugins' in a non-top-level conftest is no longer supported:
mv pytest_trio/_tests/conftest.py conftest.py || die
distutils-r1_python_prepare_all