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
Compare
Choose a tag to compare
Loading
@dmitry-lipetskdmitry-lipetsk released this 22 Apr 12:07
· 17 commits to master since this release

Testgres 1.11.0 Release Notes

1. Important Changes

1.1. Removal oftestgres.OsOperations::db_connect method (#237)

Thedb_connect method has been removed from theOsOperations interface as it was not fitting with the OS-specific functionality it was intended for.

1.2. Replacement oftestgres.helpers.port_manager.PortManager (#234)

The oldPortManager class has been replaced by the newtestgres.port_manager.PortManager interface. The functionalities of the oldPortManager are now in thetestgres.utils.internal__reserve_port function.

1.3.PostgresNode property changes (#234)

  • PostgresNode::name,PostgresNode::host,PostgresNode::port,PostgresNode::ssh_key, andPostgresNode::os_ops are now read-only properties. These properties cannot be modified after the creation of aPostgresNode object.
  • Modifying a node's port now requires recreating thePostgresNode object due to potential complexities in synchronizing configurations across PostgreSQL instances.

1.4. NewPostgresNode parameters (#234,ac0a2bb)

  • port_manager andos_ops parameters have been added to thePostgresNode constructor. These parameters allow explicit control over the port reservation and the OS operations used by the node.

2. New Features

2.1. Newtestgres.port_manager.PortManager Interface (#234)

A new interface for reserving and releasing ports, used byPostgresNode to manage port assignments correctly on both local and remote systems. Two implementations are available:

  • PortManager__ThisHost (for local systems)
  • PortManager__Generic (for both local and remote systems)

2.2.PostgresNode::clone_with_new_name_and_base_dir Method (ac0a2bb)

New method to clone aPostgresNode with a new name and base directory. This method is now used inNodeBackup::spawn_primary for better node cloning.

2.3.OsOperations::is_free_port Method (#234)

A new method added toOsOperations to check if a port is free. This method is used in the newPortManager__Generic class.

2.4. Support for Environment Variables inOsOperations::execute_command (#239)

You can now pass environment variables through the newexec_env parameter when using theexecute_command method ofOsOperations. This feature has been added toPostgresNode::start andPostgresNode::slow_start.

3. Updates and Changes

3.1.PostgresNode::start Does Not Calllogging.error Anymore (b917141)

ThePostgresNode::start method no longer logs errors before raising exceptions. This change improves the handling of errors and avoids misclassification of errors as they are now left for the client to handle.

3.2.RemoteOperations::exec_command Updates (#185,#187)

  • Explicit enumeration of supportedcmd parameter types.
  • Explicitly transfers language environment variables (LANG,LC_*, etc.) during SSH command execution.

3.3.PostgresNode::pid Improved (#199)

Now usespg_ctl to handlepid property more reliably.

3.4. Refactoring ofOsOperations::execute_command (#203)

Improved error handling and the way results are processed. The function now only checks the exit code for errors and allows the caller to manage expected errors.

4. Bug Fixes

4.1.OsOperations::cwd Bug Fix (#182)

The implementation ofcwd now works correctly with local systems.

4.2. Fixes inOsOperations::write Method (#183)

Bug fixes and data preparation improvements for both local and remote operations.

4.3. Fixes inPostgresNode::start Method (50fc4c5)

Corrected an issue in the warning message generation when starting a node.

4.4.RemoteOperations::mktemp Fix (#202)

The call tomktemp now correctly uses the-t option to return the full path instead of just a name.

4.5. Fix forRemoteOperations::listdir (#217)

Improved handling of directory listings, especially for paths with spaces.

5. Other Changes

5.1. New CI Verifications

  • Support for multiple Python versions (3.8 - 3.12).
  • Tests on multiple Linux distributions (Ubuntu 2024.04, AltLinux 10/11).

5.2. Migration topytest

Tests have been migrated fromunittest topytest for better flexibility and efficiency.

5.3. Global Test Refactoring

New unified tests forLocalOperations andRemoteOperations.

5.4. Experimental Logging Feature

A newconftest.py allows logging test results for further processing of errors and warnings within a single test.

Full Changelog:1.10.5 → 1.11.0

Contributors

Contributors

  • @dmitry-lipetsk
dmitry-lipetsk
Assets2
Loading

[8]ページ先頭

©2009-2025 Movatter.jp