2016-04-16 17:55:23 +02:00
# pgBackRest <br/> Regression, Unit, & Integration Testing
2016-01-09 15:21:53 +02:00
## Introduction
2019-08-26 18:26:00 +02:00
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)
2016-01-09 15:21:53 +02:00
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.
2018-12-30 16:40:20 +02:00
> **NOTE:** this is not required for normal operation of pgBackRest.
2016-01-09 15:21:53 +02:00
## Testing
The easiest way to start testing pgBackRest is with the included `Vagrantfile` .
_Build Vagrant and Logon_:
```
cd test
vagrant up
vagrant ssh
```
2016-01-09 17:11:03 +02:00
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.
2016-01-09 15:21:53 +02:00
_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_:
```
2016-01-11 04:07:07 +02:00
/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
2016-01-09 15:21:53 +02:00
```
2016-09-06 15:35:02 +02:00
_Run Tests for a Specific OS, Module, Test, and Process Max_:
2016-01-09 15:21:53 +02:00
```
2016-09-06 15:35:02 +02:00
/backrest/test/test.pl --vm=co6 --module=backup --test=full --process-max=4
2016-01-09 15:21:53 +02:00
```
2018-12-30 16:40:20 +02:00
> **NOTE:** process-max is only applicable to the `synthetic` and `full` tests in the `backup` module.
2016-01-09 15:21:53 +02:00
2016-09-06 15:35:02 +02:00
_Run Tests for a Specific OS, Module, Test, Process Max, and Database Version_:
2016-01-09 15:21:53 +02:00
```
2018-02-04 01:27:38 +02:00
/backrest/test/test.pl --vm=co6 --module=backup --test=full --process-max=4 --pg-version=9.4
2016-01-09 15:21:53 +02:00
```
2018-12-30 16:40:20 +02:00
> **NOTE:** pg-version is only applicable to the `full` test in the `backup` module.
2016-01-09 15:21:53 +02:00
_Iterate All Possible Test Combinations_:
```
/backrest/test/test.pl --dry-run
```