Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

TestTestgresCommon - unified tests for local and remote#216

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Closed
Show file tree
Hide file tree
Changes from1 commit
Commits
Show all changes
26 commits
Select commitHold shift + click to select a range
5488ecd
TestTestgresCommon - unified tests for local and remote
dmitry-lipetskMar 12, 2025
a6edd3a
TestTestgresCommon is updated
dmitry-lipetskMar 12, 2025
3c055af
TestTestgresCommon is updated
dmitry-lipetskMar 13, 2025
188b3b2
TestTestgresCommon is updated
dmitry-lipetskMar 13, 2025
9b137ca
Merge branch 'master' into D20250312_002--TestTestgresCommon
dmitry-lipetskMar 13, 2025
9bddc3b
Merge branch 'master' into D20250312_002--TestTestgresCommon
dmitry-lipetskMar 14, 2025
75f0326
Merge branch 'master' into D20250312_002--TestTestgresCommon
dmitry-lipetskMar 16, 2025
292b403
TestTestgresCommon is updated
dmitry-lipetskMar 16, 2025
0fb22e8
PostgresNode_Base is added
dmitry-lipetskMar 16, 2025
2e5bd9d
test_simple_remote.py is cleaned
dmitry-lipetskMar 16, 2025
7f89186
Merge branch 'master' into D20250312_002--TestTestgresCommon
dmitry-lipetskMar 16, 2025
48fd887
Formatting (flake8)
dmitry-lipetskMar 16, 2025
bf28a1a
Formatting
dmitry-lipetskMar 17, 2025
f64dd60
PostgresNode_Base is updated (documentation)
dmitry-lipetskMar 17, 2025
490130e
PostgresNode is updated (documentation)
dmitry-lipetskMar 17, 2025
ff9b7bc
PostgresNode_Base::_prefix is removed
dmitry-lipetskMar 17, 2025
9e1979f
PostgresNode::clean is corrected
dmitry-lipetskMar 17, 2025
3e9cad1
node_base.py is updated
dmitry-lipetskMar 17, 2025
12fa7f2
node_base.py is updated
dmitry-lipetskMar 17, 2025
cef7982
node.py is updated
dmitry-lipetskMar 17, 2025
61feb2c
NodeApp::make_empty is updated
dmitry-lipetskMar 17, 2025
84a51c7
PostgresNode::cleanup is fixed
dmitry-lipetskMar 17, 2025
f7f915d
PostgresNode::cleanup is updated (flake8)
dmitry-lipetskMar 17, 2025
882b8ec
PostgresNode_Base::clone_with_new_name_and_base_dir is added
dmitry-lipetskMar 17, 2025
e8e392e
PostgresNode is updated (comment)
dmitry-lipetskMar 17, 2025
06287f2
Merge remote-tracking branch 'origin/D20250316_003--PostgresNode_Base…
dmitry-lipetskMar 17, 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
PrevPrevious commit
NextNext commit
PostgresNode_Base::clone_with_new_name_and_base_dir is added
It a right way for creating a clone of PostgresNode.
  • Loading branch information
@dmitry-lipetsk
dmitry-lipetsk committedMar 17, 2025
commit882b8ec4fc9c47c65d79a6b0bdda71d925f5359e
3 changes: 1 addition & 2 deletionstestgres/backup.py
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -147,8 +147,7 @@ def spawn_primary(self, name=None, destroy=True):
base_dir = self._prepare_dir(destroy)

# Build a new PostgresNode
NodeClass = self.original_node.__class__
with clean_on_error(NodeClass(name=name, base_dir=base_dir, conn_params=self.original_node.os_ops.conn_params)) as node:
with clean_on_error(self.original_node.clone_with_new_name_and_base_dir(name=name, base_dir=base_dir)) as node:

# New nodes should always remove dir tree
node._should_rm_dirs = True
Expand Down
30 changes: 26 additions & 4 deletionstestgres/node.py
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -106,7 +106,7 @@

class PostgresNode(PostgresNode_Base):
def __init__(self, name=None, base_dir=None, port=None, conn_params: ConnectionParams = ConnectionParams(),
bin_dir=None, prefix=None):
bin_dir=None, prefix=None, os_ops=None):
"""
PostgresNode constructor.

Expand All@@ -119,29 +119,51 @@ def __init__(self, name=None, base_dir=None, port=None, conn_params: ConnectionP
prefix: signature of temporary directory if it is required.
"""

os_ops = __class__._get_os_ops(conn_params)
if os_ops is None:
os_ops = __class__._get_os_ops(conn_params)
else:
assert conn_params is None
pass

assert os_ops is not None
assert isinstance(os_ops, OsOperations)

super().__init__(os_ops, name=name, port=port, bin_dir=bin_dir)

# it is needed to clone
self._prefix = prefix

if base_dir:
self._base_dir = base_dir
else:
self._base_dir = os_ops.mkdtemp(prefix or TMP_NODE)

@staticmethod
def _get_os_ops(conn_params: ConnectionParams) -> OsOperations:
assert type(conn_params) == ConnectionParams # noqa: E721

if testgres_config.os_ops:
return testgres_config.os_ops

assert type(conn_params) == ConnectionParams # noqa: E721

if conn_params.ssh_key:
return RemoteOperations(conn_params)

return LocalOperations(conn_params)

def clone_with_new_name_and_base_dir(self, name: str, base_dir: str):
assert name is None or type(name) == str # noqa: E721
assert base_dir is None or type(base_dir) == str # noqa: E721

node = PostgresNode(
name=name,
base_dir=base_dir,
conn_params=None,
bin_dir=self._bin_dir,
prefix=self._prefix,
os_ops=self._os_ops)

return node

@property
def base_dir(self):
# NOTE: it's safe to create a new dir
Expand Down
3 changes: 3 additions & 0 deletionstestgres/node_base.py
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -163,6 +163,9 @@ def __repr__(self):
return "{}(name='{}', port={}, base_dir='{}')".format(
self.__class__.__name__, self.name, self.port, self.base_dir)

def clone_with_new_name_and_base_dir(self, name: str, base_dir: str):
raise NotImplementedError("PostgresNode_Base::clone_with_new_name_and_base_dir is not implemented")

@property
def pid(self):
"""
Expand Down

[8]ページ先頭

©2009-2025 Movatter.jp