5 |
5 |
|
6 |
6 |
DISTUTILS_EXT=1
|
7 |
7 |
DISTUTILS_USE_PEP517=setuptools
|
8 |
|
PYTHON_COMPAT=( pypy3 python3_{10..11} )
|
|
8 |
PYTHON_COMPAT=( pypy3 python3_{10..12} )
|
9 |
9 |
PYTHON_REQ_USE="sqlite?"
|
10 |
10 |
|
11 |
11 |
inherit distutils-r1 optfeature pypi
|
... | ... | |
25 |
25 |
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
|
26 |
26 |
IUSE="examples +sqlite test"
|
27 |
27 |
|
|
28 |
RDEPEND="
|
|
29 |
>=dev-python/typing-extensions-4.2.0[${PYTHON_USEDEP}]
|
|
30 |
"
|
28 |
31 |
BDEPEND="
|
|
32 |
dev-python/cython[${PYTHON_USEDEP}]
|
29 |
33 |
test? (
|
30 |
34 |
$(python_gen_impl_dep sqlite)
|
31 |
35 |
)
|
... | ... | |
33 |
37 |
|
34 |
38 |
distutils_enable_tests pytest
|
35 |
39 |
|
36 |
|
EPYTEST_IGNORE=(
|
37 |
|
# hardcode call counts specific to Python versions
|
38 |
|
test/aaa_profiling
|
39 |
|
)
|
40 |
|
|
41 |
40 |
src_prepare() {
|
42 |
41 |
sed -i -e '/greenlet/d' setup.cfg || die
|
43 |
42 |
distutils-r1_src_prepare
|
44 |
43 |
}
|
45 |
44 |
|
46 |
45 |
python_test() {
|
|
46 |
local EPYTEST_IGNORE=(
|
|
47 |
test/ext/mypy/test_mypy_plugin_py3k.py
|
|
48 |
test/typing/test_mypy.py
|
|
49 |
# hardcode call counts specific to Python versions
|
|
50 |
test/aaa_profiling
|
|
51 |
)
|
47 |
52 |
local EPYTEST_DESELECT=(
|
48 |
53 |
# warning tests are unreliable
|
49 |
54 |
test/base/test_warnings.py
|
|
55 |
# TODO
|
|
56 |
test/orm/test_versioning.py::ServerVersioningTest_sqlite+pysqlite_3_40_1::test_sql_expr_w_mods_bump
|
|
57 |
test/sql/test_resultset.py::CursorResultTest_sqlite+pysqlite_3_41_0::test_pickle_rows_other_process
|
50 |
58 |
)
|
51 |
59 |
local sqlite_version=$(sqlite3 --version | cut -d' ' -f1)
|
52 |
60 |
[[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
|
53 |
61 |
test/ext/test_associationproxy.py::ProxyHybridTest::test_msg_fails_on_cls_access
|
54 |
|
# https://github.com/sqlalchemy/sqlalchemy/issues/8762
|
55 |
|
test/orm/test_query.py::YieldTest_sqlite+pysqlite_${sqlite_version//./_}::test_yield_per_close_on_interrupted_iteration_legacy
|
|
62 |
test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_multi_elem_varg
|
|
63 |
test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_one_elem_varg
|
|
64 |
test/engine/test_pool.py::QueuePoolTest::test_recycle_pool_no_race
|
|
65 |
test/engine/test_processors.py::PyDateProcessorTest::test_date_invalid_string
|
|
66 |
test/engine/test_processors.py::PyDateProcessorTest::test_datetime_invalid_string
|
|
67 |
test/engine/test_processors.py::PyDateProcessorTest::test_time_invalid_string
|
|
68 |
"test/dialect/test_sqlite.py::TestTypes_sqlite+pysqlite_${sqlite_version//./_}::test_cant_parse_datetime_message"
|
|
69 |
"test/dialect/test_suite.py::ReturningGuardsTest_sqlite+pysqlite_${sqlite_version//./_}"::test_{delete,insert,update}_single
|
|
70 |
test/base/test_utils.py::ImmutableDictTest::test_pep584
|
|
71 |
)
|
|
72 |
[[ ${EPYTHON} == python3.12 ]] && EPYTEST_DESELECT+=(
|
|
73 |
# see https://github.com/sqlalchemy/sqlalchemy/issues/9819
|
|
74 |
test/base/test_result.py::ResultTupleTest::test_slices_arent_in_mappings
|
56 |
75 |
)
|
57 |
76 |
if ! has_version "dev-python/greenlet[${PYTHON_USEDEP}]"; then
|
58 |
77 |
EPYTEST_DESELECT+=(
|
... | ... | |
60 |
79 |
test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_run_sync
|
61 |
80 |
"test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[False-True]"
|
62 |
81 |
"test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[True-True]"
|
|
82 |
"test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[has_terminate-is_asyncio]"
|
|
83 |
"test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[not_has_terminate-is_asyncio]"
|
63 |
84 |
"test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True-_exclusions0]"
|
|
85 |
"test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True]"
|
64 |
86 |
)
|
65 |
87 |
fi
|
66 |
88 |
|