1
0
mirror of https://github.com/postgrespro/pg_probackup.git synced 2024-11-24 08:52:38 +02:00
pg_probackup/tests
2022-07-01 04:00:05 +03:00
..
expected minor hotfix for OptionTest.test_help_6, OptionTest.test_version_2 and tests/Readme.md FAQ (#494) 2022-06-16 11:46:19 +03:00
helpers [PBCKP-220] removed inheritance GDBObj->ProbackupTest 2022-07-01 04:00:05 +03:00
__init__.py [PBCKP-150] Reading buffer is flushed each time we verify the checksum. (#487) 2022-05-25 14:45:25 +03:00
archive.py [PBCKP-220] minor updates for gdb checks, checking CI tests 2022-06-30 02:28:29 +03:00
auth_test.py Remove ptrack-1.* support (#398) 2021-06-17 19:11:36 +03:00
backup.py [PGPRO-5387] Vanilla fixed idle replica archiving (#458) 2022-03-28 06:30:39 +03:00
catchup.py [pbckp-128] dry-run option for catchup (#477) 2022-06-01 10:49:09 +03:00
cfs_backup.py tests: drop ptrack1 suppport 2021-06-18 12:12:37 +03:00
cfs_restore.py tests: support PG12 2019-10-19 09:48:35 +03:00
cfs_validate_backup.py cfs tests small temporal chages 2017-10-19 18:26:24 +03:00
checkdb.py [PGPRO-5612] Support for checkunique parameter of amcheck.bt_index_check() function (PR #456) 2022-02-17 01:24:08 +03:00
compatibility.py tests: drop ptrack1 suppport 2021-06-18 12:12:37 +03:00
compression.py delete nodes in del_test_dir 2021-02-18 05:13:11 +00:00
config.py tests: fixes 2020-05-11 21:23:25 +03:00
CVE_2018_1058.py CVE-2018-1058 fix (#415) 2021-08-12 14:50:07 +03:00
delete.py tests: drop ptrack1 suppport 2021-06-18 12:12:37 +03:00
delta.py [PBCKP-220] minor updates for gdb checks, checking CI tests 2022-06-30 02:28:29 +03:00
exclude.py PBCKP-145: added check of unlogged table is restored as empty table (#490) 2022-05-27 18:56:38 +03:00
external.py Stabilizy tests. (#411) 2021-08-03 21:59:49 +03:00
false_positive.py Remove ptrack-1.* support (#398) 2021-06-17 19:11:36 +03:00
incr_restore.py tests: disable autovacuum by default 2021-05-25 17:09:42 +03:00
init.py [Issue #219] added test tests.init.InitTest.test_add_instance_idempotence 2020-06-05 23:33:38 +03:00
locking.py [Issue #311] Release shared locks at proc exit 2021-02-09 17:32:27 +03:00
logging.py [Issue #274] improve test coverage 2020-11-09 13:53:38 +03:00
merge.py tests: drop ptrack1 suppport 2021-06-18 12:12:37 +03:00
option.py minor hotfix for OptionTest.test_help_6, OptionTest.test_version_2 and tests/Readme.md FAQ (#494) 2022-06-16 11:46:19 +03:00
page.py tests: disable autovacuum by default 2021-05-25 17:09:42 +03:00
pgpro560.py [Issue #172] Optimize remote backup in PAGE and PTRACK modes 2020-03-14 14:35:57 +03:00
pgpro589.py tests: support PG12 2019-10-19 09:48:35 +03:00
pgpro2068.py [PBCKP-220] minor updates for gdb checks, checking CI tests 2022-06-30 02:28:29 +03:00
ptrack.py [PBCKP-220] minor updates for gdb checks, checking CI tests 2022-06-30 02:28:29 +03:00
Readme.md minor hotfix for OptionTest.test_help_6, OptionTest.test_version_2 and tests/Readme.md FAQ (#494) 2022-06-16 11:46:19 +03:00
remote.py [Issue #182] test coverage 2020-03-15 19:02:35 +03:00
replica.py [PBCKP-220] removed inheritance GDBObj->ProbackupTest 2022-07-01 04:00:05 +03:00
restore.py Merge remote-tracking branch 'origin/master' into release_2_5 2021-10-18 15:41:43 +03:00
retention.py tests: disable autovacuum by default 2021-05-25 17:09:42 +03:00
set_backup.py [Issue #263] added tests.set_backup.SetBackupTest.test_add_big_note_1 2020-12-09 10:03:37 +03:00
show.py Merge branch 'master' into release_2_5 2021-08-03 22:24:33 +03:00
time_consuming.py [PBCKP-150] Reading buffer is flushed each time we verify the checksum. (#487) 2022-05-25 14:45:25 +03:00
time_stamp.py tests: disable autovacuum by default 2021-05-25 17:09:42 +03:00
validate.py Add a workflow to build and test probackup on Windows (#484) 2022-05-26 15:53:01 +03:00

****see wiki

Note: For now these tests work on Linux and "kinda" work on Windows
Note: tests require python3 to work properly.
Windows Note: For tablespaces tests to work on Windows, you should explicitly(!) grant current user full access to tmp_dirs
Check physical correctness of restored instances:
 Apply this patch to disable HINT BITS: https://gist.github.com/gsmol/2bb34fd3ba31984369a72cc1c27a36b6
 export PG_PROBACKUP_PARANOIA=ON

Check archive compression:
 export ARCHIVE_COMPRESSION=ON

Enable compatibility tests:
 export PGPROBACKUPBIN_OLD=/path/to/previous_version_pg_probackup_binary

Specify path to pg_probackup binary file. By default tests use <Path to Git repository>/pg_probackup/
 export PGPROBACKUPBIN=<path to pg_probackup>

Remote backup depends on key authentication to local machine via ssh as current user.
 export PGPROBACKUP_SSH_REMOTE=ON

Run tests that are relied on advanced debugging features. For this mode, pg_probackup should be compiled without optimizations. For example:
CFLAGS="-O0" ./configure --prefix=/path/to/prefix --enable-debug --enable-cassert --enable-depend --enable-tap-tests --enable-nls

 export PGPROBACKUP_GDB=ON

Run suit of basic simple tests:
 export PG_PROBACKUP_TEST_BASIC=ON

Run ptrack tests:
 export PG_PROBACKUP_PTRACK=ON

Run long (time consuming) tests:
 export PG_PROBACKUP_LONG=ON

Usage:
 sudo echo 0 > /proc/sys/kernel/yama/ptrace_scope
 pip install testgres
 export PG_CONFIG=/path/to/pg_config
 python -m unittest [-v] tests[.specific_module][.class.test]

Troubleshooting FAQ

python test failures

  1. Test failure reason like
testgres.exceptions.QueryException ERROR:  could not open extension control file "/home/avaness/postgres/postgres.build/share/extension/amcheck.control": No such file or directory

Solution: you have no <postgres_src_root>/contrib/ extensions installed

cd <postgres_src_root>
make world install
  1. Test failure
FAIL: test_help_6 (tests.option.OptionTest)

Solution: you didn't configure postgres build with --enable-nls

cd <postgres_src_root>
make distclean
<your-./configure-cmdline> --enable-nls