8000 Tests are based on pytest by dmitry-lipetsk · Pull Request #192 · postgrespro/testgres · GitHub
[go: up one dir, main page]

Skip to content

Tests are based on pytest #192

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
f37c299
Using pytest [pytest.raises]
dmitry-lipetsk Feb 23, 2025
53e468e
Using pytest [pytest.skip]
dmitry-lipetsk Feb 23, 2025
12d702a
Using pytest [assertIsNotNone]
dmitry-lipetsk Feb 23, 2025
1cb664e
Using pytest [assertFalse]
dmitry-lipetsk Feb 23, 2025
e2e7e8b
Using pytest [assertTrue]
dmitry-lipetsk Feb 23, 2025
89784a8
Using pytest [assertEqual]
dmitry-lipetsk Feb 23, 2025
2252d60
Using pytest [assertNotEqual]
dmitry-lipetsk Feb 23, 2025
e8aad3d
Using pytest [assertGreaterEqual]
dmitry-lipetsk Feb 23, 2025
eaaa276
Using pytest [assertGreater]
dmitry-lipetsk Feb 23, 2025
4afbe00
Using pytest [assertIn]
dmitry-lipetsk Feb 23, 2025
a8e57ae
Using pytest [assertListEqual]
dmitry-lipetsk Feb 23, 2025
df199b9
unittest is not used
dmitry-lipetsk Feb 23, 2025
a82cf3d
Code style (flake8)
dmitry-lipetsk Feb 23, 2025
9745bc4
Merge commit '38b3dc3697d229b6668217f2f57825379c7f2e23' into D2025022…
dmitry-lipetsk Feb 23, 2025
27c4f40
Execution signature is removed
dmitry-lipetsk Feb 24, 2025
ae41d16
run_tests.sh installs pytest
dmitry-lipetsk Feb 24, 2025
a14b3d7
run_tests.sh is updated
dmitry-lipetsk Feb 24, 2025
e6f4448
Total refactoring of tests
dmitry-lipetsk Feb 24, 2025
842bc08
Code style (flake8)
dmitry-lipetsk Feb 24, 2025
d9afdcc
Merge commit 'de738f9fd8d52345677903bface575d41cbe539c' into D2025022…
dmitry-lipetsk Feb 24, 2025
027d2ea
Merge branch 'D20250224_002--os_ops-in-free_utilities' into D20250223…
dmitry-lipetsk Feb 24, 2025
969e49d
Root __init__.py is added
dmitry-lipetsk Feb 24, 2025
6e2820d
Code style (flake8)
dmitry-lipetsk Feb 24, 2025
588b28b
Merge remote-tracking branch 'origin/D20250224_002--os_ops-in-free_ut…
dmitry-lipetsk Feb 24, 2025
e4e8909
pytest.ini is added
dmitry-lipetsk Feb 24, 2025
66860d0
TestgresTests::test_ports_management is corrected
dmitry-lipetsk Feb 24, 2025
aaaa677
coding: utf-8
dmitry-lipetsk Feb 24, 2025
60bb4c5
Cleanup
dmitry-lipetsk Feb 24, 2025
2d2532c
CI runs all the tests of testgres.
dmitry-lipetsk Feb 24, 2025
537a9ac
Add install ssh
Feb 24, 2025
1f99813
Revert "Add install ssh"
dmitry-lipetsk Feb 25, 2025
41455d6
Revert "CI runs all the tests of testgres."
dmitry-lipetsk Feb 25, 2025
1c43810
Merge commit '669e134ff65b99cd285500e5f362633fc8d50e4e' into D2025022…
dmitry-lipetsk Feb 25, 2025
47a51a8
Test of probackup plugin is restored
dmitry-lipetsk Feb 25, 2025
f7f163d
The test suite of a probackup plugin is based on pytest
dmitry-lipetsk Feb 25, 2025
ed7b187
Probackup plugin is updated
dmitry-lipetsk Feb 25, 2025
8af4a49
CI test use 4 cores
dmitry-lipetsk Feb 25, 2025
d35ca43
testgres.plugins.probackup2.Init was restored [thanks to Yuri Sokolov]
dmitry-lipetsk Feb 25, 2025
181126b
pytest.ini is updated [testpaths]
dmitry-lipetsk Feb 25, 2025
d08f659
test_child_pids (local, remote) is updated
dmitry-lipetsk Feb 25, 2025
e803146
test_child_process_dies is updated
dmitry-lipetsk Feb 25, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Using pytest [assertTrue]
  • Loading branch information
dmitry-lipetsk committed Feb 23, 2025
commit e2e7e8b6d7d26bfa08a7e612a3ab4dc307b7ba11
84 changes: 42 additions & 42 deletions tests/test_simple.py
Original file line number Diff line number Diff line change
Expand Up @@ -160,8 +160,8 @@ def test_init_unique_system_id(self):

with scoped_config(cache_initdb=True,
cached_initdb_unique=True) as config:
self.assertTrue(config.cache_initdb)
self.assertTrue(config.cached_initdb_unique)
assert (config.cache_initdb)
assert (config.cached_initdb_unique)

# spawn two nodes; ids must be different
with get_new_node().init().start() as node1, \
Expand All @@ -183,7 +183,7 @@ def test_node_exit(self):
node.safe_psql('select 1')

# we should save the DB for "debugging"
self.assertTrue(os.path.exists(base_dir))
assert (os.path.exists(base_dir))
rmtree(base_dir, ignore_errors=True)

with get_new_node().init() as node:
Expand All @@ -196,7 +196,7 @@ def test_double_start(self):
with get_new_node().init().start() as node:
# can't start node more than once
node.start()
self.assertTrue(node.is_started)
assert (node.is_started)

def test_uninitialized_start(self):
with get_new_node() as node:
Expand Down Expand Up @@ -241,10 +241,10 @@ def test_pg_ctl(self):
node.init().start()

status = node.pg_ctl(['status'])
self.assertTrue('PID' in status)
assert ('PID' in status)

def test_status(self):
self.assertTrue(NodeStatus.Running)
assert (NodeStatus.Running)
assert not (NodeStatus.Stopped)
assert not (NodeStatus.Uninitialized)

Expand Down Expand Up @@ -320,7 +320,7 @@ def test_psql(self):
def test_safe_psql__expect_error(self):
with get_new_node().init().start() as node:
err = node.safe_psql('select_or_not_select 1', expect_error=True)
self.assertTrue(type(err) == str) # noqa: E721
assert (type(err) == str) # noqa: E721
self.assertIn('select_or_not_select', err)
self.assertIn('ERROR: syntax error at or near "select_or_not_select"', err)

Expand Down Expand Up @@ -371,7 +371,7 @@ def test_control_data(self):

# check returned dict
assert data is not None
self.assertTrue(any('pg_control' in s for s in data.keys()))
assert (any('pg_control' in s for s in data.keys()))

def test_backup_simple(self):
with get_new_node() as master:
Expand Down Expand Up @@ -651,9 +651,9 @@ def test_dump(self):
with removing(node1.dump(format=format)) as dump:
with get_new_node().init().start() as node3:
if format == 'directory':
self.assertTrue(os.path.isdir(dump))
assert (os.path.isdir(dump))
else:
self.assertTrue(os.path.isfile(dump))
assert (os.path.isfile(dump))
# restore dump
node3.restore(filename=dump)
res = node3.execute(query_select)
Expand All @@ -677,7 +677,7 @@ def test_poll_query_until(self):
node.poll_query_until(query=check_time.format(start_time))
end_time = node.execute(get_time)[0][0]

self.assertTrue(end_time - start_time >= 5)
assert (end_time - start_time >= 5)

# check 0 columns
with pytest.raises(expected_exception=QueryException):
Expand Down Expand Up @@ -770,13 +770,13 @@ def test_logging(self):
# check that master's port is found
with open(logfile.name, 'r') as log:
lines = log.readlines()
self.assertTrue(any(node_name in s for s in lines))
assert (any(node_name in s for s in lines))

# test logger after stop/start/restart
master.stop()
master.start()
master.restart()
self.assertTrue(master._logger.is_alive())
assert (master._logger.is_alive())

# @unittest.skipUnless(util_exists('pgbench.exe' if os.name == 'nt' else 'pgbench'), 'pgbench might be missing')
def test_pgbench(self):
Expand All @@ -798,7 +798,7 @@ def test_pgbench(self):

proc.stdout.close()

self.assertTrue('tps' in out)
assert ('tps' in out)

def test_pg_config(self):
# check same instances
Expand Down Expand Up @@ -872,13 +872,13 @@ def test_auto_name(self):
with get_new_node().init(allow_streaming=True).start() as m:
with m.replicate().start() as r:
# check that nodes are running
self.assertTrue(m.status())
self.assertTrue(r.status())
assert (m.status())
assert (r.status())

# check their names
self.assertNotEqual(m.name, r.name)
self.assertTrue('testgres' in m.name)
self.assertTrue('testgres' in r.name)
assert ('testgres' in m.name)
assert ('testgres' in r.name)

def test_file_tail(self):
from testgres.utils import file_tail
Expand Down Expand Up @@ -957,21 +957,21 @@ def test_version_management(self):
g = PgVer('15.3.1bihabeta1')
k = PgVer('15.3.1')

self.assertTrue(a == b)
self.assertTrue(b > c)
self.assertTrue(a > c)
self.assertTrue(d > e)
self.assertTrue(e > f)
self.assertTrue(d > f)
self.assertTrue(h > f)
self.assertTrue(h == i)
self.assertTrue(g == k)
self.assertTrue(g > h)
assert (a == b)
assert (b > c)
assert (a > c)
assert (d > e)
assert (e > f)
assert (d > f)
assert (h > f)
assert (h == i)
assert (g == k)
assert (g > h)

version = get_pg_version()
with get_new_node() as node:
self.assertTrue(isinstance(version, six.string_types))
self.assertTrue(isinstance(node.version, PgVer))
assert (isinstance(version, six.string_types))
assert (isinstance(node.version, PgVer))
self.assertEqual(node.version, PgVer(version))

def test_child_pids(self):
Expand Down Expand Up @@ -1054,7 +1054,7 @@ def test_upgrade_node(self):
node_new.init(cached=False)
res = node_new.upgrade_from(old_node=node_old)
node_new.start()
self.assertTrue(b'Upgrade Complete' in res)
assert (b'Upgrade Complete' in res)

def test_parse_pg_version(self):
# Linux Mint
Expand All @@ -1069,7 +1069,7 @@ def test_parse_pg_version(self):
def test_the_same_port(self):
with get_new_node() as node:
node.init().start()
self.assertTrue(node._should_free_port)
assert (node._should_free_port)
self.assertEqual(type(node.port), int)
node_port_copy = node.port
self.assertEqual(rm_carriage_returns(node.safe_psql("SELECT 1;")), b'1\n')
Expand All @@ -1087,7 +1087,7 @@ def test_the_same_port(self):

# node is still working
self.assertEqual(node.port, node_port_copy)
self.assertTrue(node._should_free_port)
assert (node._should_free_port)
self.assertEqual(rm_carriage_returns(node.safe_psql("SELECT 3;")), b'3\n')

class tagPortManagerProxy:
Expand Down Expand Up @@ -1193,30 +1193,30 @@ def test_port_rereserve_during_node_start(self):

with get_new_node() as node1:
node1.init().start()
self.assertTrue(node1._should_free_port)
assert (node1._should_free_port)
self.assertEqual(type(node1.port), int) # noqa: E721
node1_port_copy = node1.port
self.assertEqual(rm_carriage_returns(node1.safe_psql("SELECT 1;")), b'1\n')

with __class__.tagPortManagerProxy(node1.port, C_COUNT_OF_BAD_PORT_USAGE):
assert __class__.tagPortManagerProxy.sm_DummyPortNumber == node1.port
with get_new_node() as node2:
self.assertTrue(node2._should_free_port)
assert (node2._should_free_port)
self.assertEqual(node2.port, node1.port)

node2.init().start()

self.assertNotEqual(node2.port, node1.port)
self.assertTrue(node2._should_free_port)
assert (node2._should_free_port)
self.assertEqual(__class__.tagPortManagerProxy.sm_DummyPortCurrentUsage, 0)
self.assertEqual(__class__.tagPortManagerProxy.sm_DummyPortTotalUsage, C_COUNT_OF_BAD_PORT_USAGE)
self.assertTrue(node2.is_started)
assert (node2.is_started)

self.assertEqual(rm_carriage_returns(node2.safe_psql("SELECT 2;")), b'2\n')

# node1 is still working
self.assertEqual(node1.port, node1_port_copy)
self.assertTrue(node1._should_free_port)
assert (node1._should_free_port)
self.assertEqual(rm_carriage_returns(node1.safe_psql("SELECT 3;")), b'3\n')

def test_port_conflict(self):
Expand All @@ -1226,15 +1226,15 @@ def test_port_conflict(self):

with get_new_node() as node1:
node1.init().start()
self.assertTrue(node1._should_free_port)
assert (node1._should_free_port)
self.assertEqual(type(node1.port), int) # noqa: E721
node1_port_copy = node1.port
self.assertEqual(rm_carriage_returns(node1.safe_psql("SELECT 1;")), b'1\n')

with __class__.tagPortManagerProxy(node1.port, C_COUNT_OF_BAD_PORT_USAGE):
assert __class__.tagPortManagerProxy.sm_DummyPortNumber == node1.port
with get_new_node() as node2:
self.assertTrue(node2._should_free_port)
assert (node2._should_free_port)
self.assertEqual(node2.port, node1.port)

with pytest.raises(
Expand All @@ -1244,7 +1244,7 @@ def test_port_conflict(self):
node2.init().start()

self.assertEqual(node2.port, node1.port)
self.assertTrue(node2._should_free_port)
assert (node2._should_free_port)
self.assertEqual(__class__.tagPortManagerProxy.sm_DummyPortCurrentUsage, 1)
self.assertEqual(__class__.tagPortManagerProxy.sm_DummyPortTotalUsage, C_COUNT_OF_BAD_PORT_USAGE)
assert not (node2.is_started)
Expand All @@ -1254,7 +1254,7 @@ def test_port_conflict(self):

# node1 is still working
self.assertEqual(node1.port, node1_port_copy)
self.assertTrue(node1._should_free_port)
assert (node1._should_free_port)
self.assertEqual(rm_carriage_returns(node1.safe_psql("SELECT 3;")), b'3\n')

def test_simple_with_bin_dir(self):
Expand Down
Loading
0