Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 53e468e

Browse files
Using pytest [pytest.skip]
1 parent f37c299 commit 53e468e

File tree

2 files changed

+83
-14
lines changed

2 files changed

+83
-14
lines changed

tests/test_simple.py

Lines changed: 45 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import unittest
1212
import pytest
1313
import psutil
14+
import platform
1415

1516
import logging.config
1617

@@ -144,10 +145,13 @@ def test_init_after_cleanup(self):
144145
node.cleanup()
145146
node.init().start().execute('select 1')
146147

147-
@unittest.skipUnless(util_exists('pg_resetwal.exe' if os.name == 'nt' else 'pg_resetwal'), 'pgbench might be missing')
148-
@unittest.skipUnless(pg_version_ge('9.6'), 'requires 9.6+')
148+
# @unittest.skipUnless(util_exists('pg_resetwal.exe' if os.name == 'nt' else 'pg_resetwal'), 'pgbench might be missing')
149+
# @unittest.skipUnless(pg_version_ge('9.6'), 'requires 9.6+')
149150
def test_init_unique_system_id(self):
150151
# this function exists in PostgreSQL 9.6+
152+
__class__.helper__skip_test_if_util_not_exist("pg_resetwal")
153+
__class__.helper__skip_test_if_pg_version_is_not_ge("9.6")
154+
151155
query = 'select system_identifier from pg_control_system()'
152156

153157
with scoped_config(cache_initdb=False):
@@ -453,8 +457,10 @@ def test_replicate(self):
453457
res = node.execute('select * from test')
454458
self.assertListEqual(res, [])
455459

456-
@unittest.skipUnless(pg_version_ge('9.6'), 'requires 9.6+')
460+
# @unittest.skipUnless(pg_version_ge('9.6'), 'requires 9.6+')
457461
def test_synchronous_replication(self):
462+
__class__.helper__skip_test_if_pg_version_is_not_ge("9.6")
463+
458464
with get_new_node() as master:
459465
old_version = not pg_version_ge('9.6')
460466

@@ -494,8 +500,10 @@ def test_synchronous_replication(self):
494500
res = standby1.safe_psql('select count(*) from abc')
495501
self.assertEqual(rm_carriage_returns(res), b'1000000\n')
496502

497-
@unittest.skipUnless(pg_version_ge('10'), 'requires 10+')
503+
# @unittest.skipUnless(pg_version_ge('10'), 'requires 10+')
498504
def test_logical_replication(self):
505+
__class__.helper__skip_test_if_pg_version_is_not_ge("10")
506+
499507
with get_new_node() as node1, get_new_node() as node2:
500508
node1.init(allow_logical=True)
501509
node1.start()
@@ -563,9 +571,11 @@ def test_logical_replication(self):
563571
res = node2.execute('select * from test2')
564572
self.assertListEqual(res, [('a', ), ('b', )])
565573

566-
@unittest.skipUnless(pg_version_ge('10'), 'requires 10+')
574+
# @unittest.skipUnless(pg_version_ge('10'), 'requires 10+')
567575
def test_logical_catchup(self):
568576
""" Runs catchup for 100 times to be sure that it is consistent """
577+
__class__.helper__skip_test_if_pg_version_is_not_ge("10")
578+
569579
with get_new_node() as node1, get_new_node() as node2:
570580
node1.init(allow_logical=True)
571581
node1.start()
@@ -589,8 +599,10 @@ def test_logical_catchup(self):
589599
)])
590600
node1.execute('delete from test')
591601

592-
@unittest.skipIf(pg_version_ge('10'), 'requires <10')
602+
# @unittest.skipIf(pg_version_ge('10'), 'requires <10')
593603
def test_logical_replication_fail(self):
604+
__class__.helper__skip_test_if_pg_version_is_ge("10")
605+
594606
with get_new_node() as node:
595607
with pytest.raises(expected_exception=InitNodeException):
596608
node.init(allow_logical=True)
@@ -766,8 +778,10 @@ def test_logging(self):
766778
master.restart()
767779
self.assertTrue(master._logger.is_alive())
768780

769-
@unittest.skipUnless(util_exists('pgbench.exe' if os.name == 'nt' else 'pgbench'), 'pgbench might be missing')
781+
# @unittest.skipUnless(util_exists('pgbench.exe' if os.name == 'nt' else 'pgbench'), 'pgbench might be missing')
770782
def test_pgbench(self):
783+
__class__.helper__skip_test_if_util_not_exist("pgbench")
784+
771785
with get_new_node().init().start() as node:
772786

773787
# initialize pgbench DB and run benchmarks
@@ -1312,6 +1326,30 @@ def test_set_auto_conf(self):
13121326
x[0] + " stored wrong"
13131327
)
13141328

1329+
@staticmethod
1330+
def helper__skip_test_if_util_not_exist(name: str):
1331+
assert type(name) == str # noqa: E721
1332+
1333+
if platform.system().lower() == "windows":
1334+
name2 = name + ".exe"
1335+
else:
1336+
name2 = name
1337+
1338+
if not util_exists(name2):
1339+
pytest.skip('might be missing')
1340+
1341+
@staticmethod
1342+
def helper__skip_test_if_pg_version_is_not_ge(version: str):
1343+
assert type(version) == str # noqa: E721
1344+
if not pg_version_ge(version):
1345+
pytest.skip('requires {0}+'.format(version))
1346+
1347+
@staticmethod
1348+
def helper__skip_test_if_pg_version_is_ge(version: str):
1349+
assert type(version) == str # noqa: E721
1350+
if pg_version_ge(version):
1351+
pytest.skip('requires <{0}'.format(version))
1352+
13151353

13161354
if __name__ == '__main__':
13171355
if os.environ.get('ALT_CONFIG'):

tests/test_simple_remote.py

Lines changed: 38 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -205,10 +205,13 @@ def test_init_after_cleanup(self):
205205
node.cleanup()
206206
node.init().start().execute('select 1')
207207

208-
@unittest.skipUnless(util_exists('pg_resetwal'), 'might be missing')
209-
@unittest.skipUnless(pg_version_ge('9.6'), 'requires 9.6+')
208+
# @unittest.skipUnless(util_exists('pg_resetwal'), 'might be missing')
209+
# @unittest.skipUnless(pg_version_ge('9.6'), 'requires 9.6+')
210210
def test_init_unique_system_id(self):
211211
# this function exists in PostgreSQL 9.6+
212+
__class__.helper__skip_test_if_util_not_exist("pg_resetwal")
213+
__class__.helper__skip_test_if_pg_version_is_not_ge('9.6')
214+
212215
query = 'select system_identifier from pg_control_system()'
213216

214217
with scoped_config(cache_initdb=False):
@@ -507,8 +510,10 @@ def test_replicate(self):
507510
res = node.execute('select * from test')
508511
self.assertListEqual(res, [])
509512

510-
@unittest.skipUnless(pg_version_ge('9.6'), 'requires 9.6+')
513+
# @unittest.skipUnless(pg_version_ge('9.6'), 'requires 9.6+')
511514
def test_synchronous_replication(self):
515+
__class__.helper__skip_test_if_pg_version_is_not_ge("9.6")
516+
512517
with get_remote_node(conn_params=conn_params) as master:
513518
old_version = not pg_version_ge('9.6')
514519

@@ -548,8 +553,10 @@ def test_synchronous_replication(self):
548553
res = standby1.safe_psql('select count(*) from abc')
549554
self.assertEqual(res, b'1000000\n')
550555

551-
@unittest.skipUnless(pg_version_ge('10'), 'requires 10+')
556+
# @unittest.skipUnless(pg_version_ge('10'), 'requires 10+')
552557
def test_logical_replication(self):
558+
__class__.helper__skip_test_if_pg_version_is_not_ge("10")
559+
553560
with get_remote_node(conn_params=conn_params) as node1, get_remote_node(conn_params=conn_params) as node2:
554561
node1.init(allow_logical=True)
555562
node1.start()
@@ -617,9 +624,11 @@ def test_logical_replication(self):
617624
res = node2.execute('select * from test2')
618625
self.assertListEqual(res, [('a',), ('b',)])
619626

620-
@unittest.skipUnless(pg_version_ge('10'), 'requires 10+')
627+
# @unittest.skipUnless(pg_version_ge('10'), 'requires 10+')
621628
def test_logical_catchup(self):
622629
""" Runs catchup for 100 times to be sure that it is consistent """
630+
__class__.helper__skip_test_if_pg_version_is_not_ge("10")
631+
623632
with get_remote_node(conn_params=conn_params) as node1, get_remote_node(conn_params=conn_params) as node2:
624633
node1.init(allow_logical=True)
625634
node1.start()
@@ -643,8 +652,10 @@ def test_logical_catchup(self):
643652
)])
644653
node1.execute('delete from test')
645654

646-
@unittest.skipIf(pg_version_ge('10'), 'requires <10')
655+
# @unittest.skipIf(pg_version_ge('10'), 'requires <10')
647656
def test_logical_replication_fail(self):
657+
__class__.helper__skip_test_if_pg_version_is_ge("10")
658+
648659
with get_remote_node(conn_params=conn_params) as node:
649660
with pytest.raises(expected_exception=InitNodeException):
650661
node.init(allow_logical=True)
@@ -820,8 +831,10 @@ def test_logging(self):
820831
master.restart()
821832
self.assertTrue(master._logger.is_alive())
822833

823-
@unittest.skipUnless(util_exists('pgbench'), 'might be missing')
834+
# @unittest.skipUnless(util_exists('pgbench'), 'might be missing')
824835
def test_pgbench(self):
836+
__class__.helper__skip_test_if_util_not_exist("pgbench")
837+
825838
with get_remote_node(conn_params=conn_params).init().start() as node:
826839
# initialize pgbench DB and run benchmarks
827840
node.pgbench_init(scale=2, foreign_keys=True,
@@ -1077,6 +1090,24 @@ def helper__restore_envvar(name, prev_value):
10771090
else:
10781091
os.environ[name] = prev_value
10791092

1093+
@staticmethod
1094+
def helper__skip_test_if_util_not_exist(name: str):
1095+
assert type(name) == str # noqa: E721
1096+
if not util_exists(name):
1097+
pytest.skip('might be missing')
1098+
1099+
@staticmethod
1100+
def helper__skip_test_if_pg_version_is_not_ge(version: str):
1101+
assert type(version) == str # noqa: E721
1102+
if not pg_version_ge(version):
1103+
pytest.skip('requires {0}+'.format(version))
1104+
1105+
@staticmethod
1106+
def helper__skip_test_if_pg_version_is_ge(version: str):
1107+
assert type(version) == str # noqa: E721
1108+
if pg_version_ge(version):
1109+
pytest.skip('requires <{0}'.format(version))
1110+
10801111

10811112
if __name__ == '__main__':
10821113
if os_ops.environ('ALT_CONFIG'):

0 commit comments

Comments
 (0)