Set log-level-file=off when more that one test will run. In this case is it impossible to see the logs anyway since they will be automatically cleaned up after the test. This improves performance pretty dramatically since trace-level logging is expensive. If a singe integration test is run then log-level-file is trace by default but can be changed with the --log-level-test-file option. Reduce buffer-size to 64k to save memory during testing and allow more processes to run in parallel. Update log replacement rules so that these options can change without affecting expect logs.
pgBackRest
Regression, Unit, & Integration Testing
Introduction
pgBackRest uses Docker to run tests and generate documentation. Docker's light-weight virtualization provides the a good balance between proper OS emulation and performance (especially startup)
A Vagrantfile
is provided that contains the complete configuration required to run pgBackRest tests and build documentation. If Vagrant is not suitable then the Vagrantfile
still contains the configuration steps required to build a test system.
NOTE: this is not required for normal operation of pgBackRest.
Testing
The easiest way to start testing pgBackRest is with the included Vagrantfile
.
Build Vagrant and Logon:
cd test
vagrant up
vagrant ssh
The vagrant up
command may take some time as a number of Docker containers must also be built. The vagrant ssh
command automatically logs onto the VM.
Run All Tests:
/backrest/test/test.pl
Run Tests for a Specific OS:
/backrest/test/test.pl --vm=co6
Run Tests for a Specific OS and Module:
/backrest/test/test.pl --vm=co6 --module=backup
Run Tests for a Specific OS, Module, and Test:
/backrest/test/test.pl --vm=co6 --module=backup --test=full
Run Tests for a Specific OS, Module, Test, and Run:
/backrest/test/test.pl --vm=co6 --module=backup --test=full --run=1
Run Tests for a Specific OS, Module, Test, and Process Max:
/backrest/test/test.pl --vm=co6 --module=backup --test=full --process-max=4
NOTE: process-max is only applicable to the
synthetic
andfull
tests in thebackup
module.
Run Tests for a Specific OS, Module, Test, Process Max, and Database Version:
/backrest/test/test.pl --vm=co6 --module=backup --test=full --process-max=4 --pg-version=9.4
NOTE: pg-version is only applicable to the
full
test in thebackup
module.
Iterate All Possible Test Combinations:
/backrest/test/test.pl --dry-run