]> git.ipfire.org Git - thirdparty/psycopg.git/commitdiff
test(crdb): skip tests based on missing features
authorDaniele Varrazzo <daniele.varrazzo@gmail.com>
Mon, 6 Jun 2022 21:59:10 +0000 (23:59 +0200)
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>
Tue, 12 Jul 2022 11:58:34 +0000 (12:58 +0100)
With this changeset, all tests pass or are skipped on CRDB 21.2.10 \o/

tests/pool/test_null_pool.py
tests/pool/test_null_pool_async.py
tests/pool/test_pool.py
tests/pool/test_pool_async.py
tests/test_concurrency.py
tests/test_concurrency_async.py

index 69f2a584150c62876486913623e5545adedc7b1f..afbdc75721daddc43b371bbba80a7b6864206958 100644 (file)
@@ -285,6 +285,7 @@ def test_no_queue_timeout(deaf_port):
 
 @pytest.mark.slow
 @pytest.mark.timing
+@pytest.mark.crdb("skip", reason="backend pid")
 def test_queue(dsn):
     def worker(n):
         t0 = time()
@@ -351,6 +352,7 @@ def test_queue_size(dsn):
 
 @pytest.mark.slow
 @pytest.mark.timing
+@pytest.mark.crdb("skip", reason="backend pid")
 def test_queue_timeout(dsn):
     def worker(n):
         t0 = time()
@@ -411,6 +413,7 @@ def test_dead_client(dsn):
 
 @pytest.mark.slow
 @pytest.mark.timing
+@pytest.mark.crdb("skip", reason="backend pid")
 def test_queue_timeout_override(dsn):
     def worker(n):
         t0 = time()
@@ -776,6 +779,7 @@ def test_bad_resize(dsn, min_size, max_size):
 
 @pytest.mark.slow
 @pytest.mark.timing
+@pytest.mark.crdb("skip", reason="backend pid")
 def test_max_lifetime(dsn):
     pids = []
 
index 37f919867de99713a92991420beb4df13a5d22ae..987a35fb3c20d6e1d6ef64f35bc5d24aefbdce88 100644 (file)
@@ -286,6 +286,7 @@ async def test_no_queue_timeout(deaf_port):
 
 @pytest.mark.slow
 @pytest.mark.timing
+@pytest.mark.crdb("skip", reason="backend pid")
 async def test_queue(dsn):
     async def worker(n):
         t0 = time()
@@ -344,6 +345,7 @@ async def test_queue_size(dsn):
 
 @pytest.mark.slow
 @pytest.mark.timing
+@pytest.mark.crdb("skip", reason="backend pid")
 async def test_queue_timeout(dsn):
     async def worker(n):
         t0 = time()
@@ -397,6 +399,7 @@ async def test_dead_client(dsn):
 
 @pytest.mark.slow
 @pytest.mark.timing
+@pytest.mark.crdb("skip", reason="backend pid")
 async def test_queue_timeout_override(dsn):
     async def worker(n):
         t0 = time()
@@ -736,6 +739,7 @@ async def test_bad_resize(dsn, min_size, max_size):
 
 @pytest.mark.slow
 @pytest.mark.timing
+@pytest.mark.crdb("skip", reason="backend pid")
 async def test_max_lifetime(dsn):
     pids: List[int] = []
 
index 60c6a04caa08d1475926f2b08d244d51d81e774b..13e161b67d9a5b6b85f495323a0aadbb20db64a9 100644 (file)
@@ -292,6 +292,7 @@ def test_reset_broken(dsn, caplog):
 
 @pytest.mark.slow
 @pytest.mark.timing
+@pytest.mark.crdb("skip", reason="backend pid")
 def test_queue(dsn):
     def worker(n):
         t0 = time()
@@ -358,6 +359,7 @@ def test_queue_size(dsn):
 
 @pytest.mark.slow
 @pytest.mark.timing
+@pytest.mark.crdb("skip", reason="backend pid")
 def test_queue_timeout(dsn):
     def worker(n):
         t0 = time()
@@ -419,6 +421,7 @@ def test_dead_client(dsn):
 
 @pytest.mark.slow
 @pytest.mark.timing
+@pytest.mark.crdb("skip", reason="backend pid")
 def test_queue_timeout_override(dsn):
     def worker(n):
         t0 = time()
@@ -993,6 +996,7 @@ def test_jitter():
 
 @pytest.mark.slow
 @pytest.mark.timing
+@pytest.mark.crdb("skip", reason="backend pid")
 def test_max_lifetime(dsn):
     with pool.ConnectionPool(dsn, min_size=1, max_lifetime=0.2) as p:
         sleep(0.1)
index 46f341a87759225d5a3f27c91e53b53b2564b7c9..dc20dbcd894e7b16ddb9039167fac20ae9795340 100644 (file)
@@ -289,6 +289,7 @@ async def test_reset_broken(dsn, caplog):
 
 @pytest.mark.slow
 @pytest.mark.timing
+@pytest.mark.crdb("skip", reason="backend pid")
 async def test_queue(dsn):
     async def worker(n):
         t0 = time()
@@ -347,6 +348,7 @@ async def test_queue_size(dsn):
 
 @pytest.mark.slow
 @pytest.mark.timing
+@pytest.mark.crdb("skip", reason="backend pid")
 async def test_queue_timeout(dsn):
     async def worker(n):
         t0 = time()
@@ -401,6 +403,7 @@ async def test_dead_client(dsn):
 
 @pytest.mark.slow
 @pytest.mark.timing
+@pytest.mark.crdb("skip", reason="backend pid")
 async def test_queue_timeout_override(dsn):
     async def worker(n):
         t0 = time()
@@ -941,6 +944,7 @@ async def test_jitter():
 
 @pytest.mark.slow
 @pytest.mark.timing
+@pytest.mark.crdb("skip", reason="backend pid")
 async def test_max_lifetime(dsn):
     async with pool.AsyncConnectionPool(dsn, min_size=1, max_lifetime=0.2) as p:
         await asyncio.sleep(0.1)
index 59920e70f5ba4f4dc1d348f0163a52c6854d5fac..3b3f2ae11de4ebbc6b70a917d01002ae66382acd 100644 (file)
@@ -109,6 +109,7 @@ t.join()
 
 @pytest.mark.slow
 @pytest.mark.timing
+@pytest.mark.crdb("skip", reason="notify")
 def test_notifies(conn, dsn):
     nconn = psycopg.connect(dsn, autocommit=True)
     npid = nconn.pgconn.backend_pid
@@ -161,6 +162,7 @@ def canceller(conn, errors):
 
 
 @pytest.mark.slow
+@pytest.mark.crdb("skip", reason="cancel")
 def test_cancel(conn):
     errors: List[Exception] = []
 
@@ -183,6 +185,7 @@ def test_cancel(conn):
     t.join()
 
 
+@pytest.mark.crdb("skip", reason="pg_terminate_backend")
 @pytest.mark.slow
 def test_cancel_stream(conn):
     errors: List[Exception] = []
@@ -236,6 +239,7 @@ def test_identify_closure(dsn):
 @pytest.mark.skipif(
     sys.platform == "win32", reason="don't know how to Ctrl-C on Windows"
 )
+@pytest.mark.crdb("skip", reason="cancel")
 def test_ctrl_c(dsn):
     if sys.platform == "win32":
         sig = int(signal.CTRL_C_EVENT)
index 5008918a20fd90725a53bf98f3838fe89c99b4a7..39f9de86ef556d7386302a7acb783f452d3a0f71 100644 (file)
@@ -61,6 +61,7 @@ async def test_concurrent_execution(dsn):
 
 @pytest.mark.slow
 @pytest.mark.timing
+@pytest.mark.crdb("skip", reason="notify")
 async def test_notifies(aconn, dsn):
     nconn = await psycopg.AsyncConnection.connect(dsn, autocommit=True)
     npid = nconn.pgconn.backend_pid
@@ -111,6 +112,7 @@ async def canceller(aconn, errors):
 
 
 @pytest.mark.slow
+@pytest.mark.crdb("skip", reason="cancel")
 async def test_cancel(aconn):
     async def worker():
         cur = aconn.cursor()
@@ -160,6 +162,7 @@ async def test_cancel_stream(aconn):
 
 
 @pytest.mark.slow
+@pytest.mark.crdb("skip", reason="pg_terminate_backend")
 async def test_identify_closure(dsn):
     async def closer():
         await asyncio.sleep(0.2)
@@ -189,6 +192,7 @@ async def test_identify_closure(dsn):
 @pytest.mark.skipif(
     sys.platform == "win32", reason="don't know how to Ctrl-C on Windows"
 )
+@pytest.mark.crdb("skip", reason="cancel")
 async def test_ctrl_c(dsn):
     script = f"""\
 import signal