From 5a723d44cd55673db8c65aa100438af6cd7c3f02 Mon Sep 17 00:00:00 2001 From: Arseny Sher Date: Fri, 3 Jun 2022 17:33:42 +0400 Subject: [PATCH] Parametrize test_normal_work. I like to run small test locally, but let's avoid duplication. --- test_runner/batch_others/test_normal_work.py | 7 +++++-- test_runner/batch_others/test_wal_acceptor.py | 20 ------------------- 2 files changed, 5 insertions(+), 22 deletions(-) diff --git a/test_runner/batch_others/test_normal_work.py b/test_runner/batch_others/test_normal_work.py index aac9685681..c0f44ce7a9 100644 --- a/test_runner/batch_others/test_normal_work.py +++ b/test_runner/batch_others/test_normal_work.py @@ -1,5 +1,6 @@ from fixtures.log_helper import log from fixtures.neon_fixtures import NeonEnv, NeonEnvBuilder, NeonPageserverHttpClient +import pytest def check_tenant(env: NeonEnv, pageserver_http: NeonPageserverHttpClient): @@ -26,7 +27,8 @@ def check_tenant(env: NeonEnv, pageserver_http: NeonPageserverHttpClient): pageserver_http.timeline_detach(tenant_id, timeline_id) -def test_normal_work(neon_env_builder: NeonEnvBuilder): +@pytest.mark.parametrize('num_timelines,num_safekeepers', [(3, 1)]) +def test_normal_work(neon_env_builder: NeonEnvBuilder, num_timelines: int, num_safekeepers: int): """ Basic test: * create new tenant with a timeline @@ -41,7 +43,8 @@ def test_normal_work(neon_env_builder: NeonEnvBuilder): """ env = neon_env_builder.init_start() + neon_env_builder.num_safekeepers = num_safekeepers pageserver_http = env.pageserver.http_client() - for _ in range(3): + for _ in range(num_timelines): check_tenant(env, pageserver_http) diff --git a/test_runner/batch_others/test_wal_acceptor.py b/test_runner/batch_others/test_wal_acceptor.py index 3c74c729a1..1932c3e450 100644 --- a/test_runner/batch_others/test_wal_acceptor.py +++ b/test_runner/batch_others/test_wal_acceptor.py @@ -18,26 +18,6 @@ from fixtures.log_helper import log from typing import List, Optional, Any -# basic test, write something in setup with 3 wal acceptors, ensure that commits -# succeed and data is written -@pytest.mark.skip(reason="simple test for development") -def test_safekeeper_normal_work(neon_env_builder: NeonEnvBuilder): - neon_env_builder.num_safekeepers = 3 - env = neon_env_builder.init_start() - - env.neon_cli.create_branch('test_safekeepers_normal_work') - pg = env.postgres.create_start('test_safekeepers_normal_work') - - with closing(pg.connect()) as conn: - with conn.cursor() as cur: - # we rely upon autocommit after each statement - # as waiting for acceptors happens there - cur.execute('CREATE TABLE t(key int primary key, value text)') - cur.execute("INSERT INTO t SELECT generate_series(1,100000), 'payload'") - cur.execute('SELECT sum(key) FROM t') - assert cur.fetchone() == (5000050000, ) - - @dataclass class TimelineMetrics: timeline_id: str