chore: run regression tests with epoll (#4426)

* chore: run regression tests with epoll

Signed-off-by: kostas <kostas@dragonflydb.io>
This commit is contained in:
Kostas Kyrimis 2025-01-20 14:18:21 +02:00 committed by GitHub
parent 4acafa3d47
commit 85cc443448
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 32 additions and 1 deletions

View file

@ -1458,6 +1458,7 @@ async def test_migration_with_key_ttl(df_factory):
assert await nodes[1].client.execute_command("stick k_sticky") == 0
@pytest.mark.exclude_epoll
@dfly_args({"proactor_threads": 4, "cluster_mode": "yes", "migration_finalization_timeout_ms": 5})
async def test_network_disconnect_during_migration(df_factory):
instances = [
@ -1948,6 +1949,7 @@ async def test_snapshoting_during_migration(
assert await seeder.compare(capture_before_migration, nodes[1].instance.port)
@pytest.mark.exclude_epoll
@dfly_args({"proactor_threads": 4, "cluster_mode": "yes"})
@pytest.mark.asyncio
async def test_cluster_migration_cancel(df_factory: DflyInstanceFactory):
@ -2013,6 +2015,7 @@ async def test_cluster_migration_cancel(df_factory: DflyInstanceFactory):
@dfly_args({"proactor_threads": 2, "cluster_mode": "yes"})
@pytest.mark.asyncio
@pytest.mark.opt_only
@pytest.mark.exclude_epoll
async def test_cluster_migration_huge_container(df_factory: DflyInstanceFactory):
instances = [
df_factory.create(port=next(next_port), admin_port=next(next_port)) for i in range(2)
@ -2562,6 +2565,7 @@ async def test_cluster_memory_consumption_migration(df_factory: DflyInstanceFact
await check_for_no_state_status([node.admin_client for node in nodes])
@pytest.mark.exclude_epoll
@pytest.mark.asyncio
@dfly_args({"proactor_threads": 4, "cluster_mode": "yes"})
async def test_migration_timeout_on_sync(df_factory: DflyInstanceFactory, df_seeder_factory):

View file

@ -528,6 +528,7 @@ async def test_keyspace_events_config_set(async_client: aioredis.Redis):
pass
@pytest.mark.exclude_epoll
async def test_reply_count(async_client: aioredis.Redis):
"""Make sure reply aggregations reduce reply counts for common cases"""

View file

@ -28,6 +28,7 @@ DISCONNECT_NORMAL_STABLE_SYNC = 2
M_OPT = [pytest.mark.opt_only]
M_SLOW = [pytest.mark.slow]
M_STRESS = [pytest.mark.slow, pytest.mark.opt_only]
M_NOT_EPOLL = [pytest.mark.exclude_epoll]
async def wait_for_replicas_state(*clients, state="online", node_role="slave", timeout=0.05):
@ -1490,6 +1491,7 @@ async def test_tls_replication(
await proxy.close(proxy_task)
@pytest.mark.exclude_epoll
async def test_ipv6_replication(df_factory: DflyInstanceFactory):
"""Test that IPV6 addresses work for replication, ::1 is 127.0.0.1 localhost"""
master = df_factory.create(proactor_threads=1, bind="::1", port=1111)
@ -2664,6 +2666,7 @@ async def test_replication_timeout_on_full_sync_heartbeat_expiry(
await assert_replica_reconnections(replica, 0)
@pytest.mark.exclude_epoll
@pytest.mark.parametrize(
"element_size, elements_number",
[(16, 30000), (30000, 16)],

View file

@ -482,6 +482,7 @@ async def test_bgsave_and_save(async_client: aioredis.Redis):
await async_client.execute_command("SAVE")
@pytest.mark.exclude_epoll
@dfly_args(
{
**BASIC_ARGS,

View file

@ -45,6 +45,7 @@ async def test_basic_memory_usage(async_client: aioredis.Redis):
) # the grown table itself takes up lots of space
@pytest.mark.exclude_epoll
@pytest.mark.opt_only
@dfly_args(
{

View file

@ -9,3 +9,4 @@ addopts = -ra --emoji
markers =
slow: marks tests as slow (deselect with '-m "not slow"')
opt_only: marks tests that are only reasonable to run against an opt-built Dragonfly
exclude_epoll: marks tests that should not run on epoll socket