2018-04-08 16:19:24 +02:00
|
|
|
# **********************************************************************************************************************************
|
|
|
|
# Test Definition
|
|
|
|
#
|
|
|
|
# Contains definitions for all unit and integration tests.
|
|
|
|
#
|
|
|
|
# The definitions consist of modules and tests. Modules group together tests that are related and allow common settings for all the
|
|
|
|
# tests. Every module and test must have a name. Tests must also have a total. If this total does not match the actual number of
|
|
|
|
# runs in a test then an error will be thrown.
|
|
|
|
#
|
|
|
|
# Most options can be set for modules and tests (test option will override module option if both are set):
|
|
|
|
# * db - determines if the test will be run against multiple db versions
|
|
|
|
# * coverage - determines coverage for the test
|
|
|
|
# full - the module/test provides full coverage for the code module
|
|
|
|
# partial - the module/test provides partial coverage for the code module
|
|
|
|
# noCode - the code module should not contain any coverable code. If it does an error will be thrown.
|
2018-11-03 22:34:04 +02:00
|
|
|
# * define - defines for C code (will also be applied to the test harness)
|
|
|
|
# * define-test - defines for the test harness
|
2018-04-08 16:19:24 +02:00
|
|
|
# * debugUnitSuppress - don't define DEBUG_UNIT for unit tests -- this is used to test unit test debugging macros
|
2019-12-14 00:55:41 +02:00
|
|
|
# * binReq - is the pgbackrest binary required for this test?
|
2019-10-08 18:06:30 +02:00
|
|
|
# * containerReq - is this test required to run in a container?
|
2018-04-08 16:19:24 +02:00
|
|
|
#
|
|
|
|
# Some options are unique to tests:
|
|
|
|
# * total - total runs in the test
|
|
|
|
# * vm - VMs that the test will be run on
|
2019-07-26 02:15:06 +02:00
|
|
|
# * include - modules to include directly into test.c (all files in coverage are automatically included)
|
|
|
|
# This is useful when a module's internal data needs to be manipulated for testing but no coverage is added by the test.
|
2018-04-08 16:19:24 +02:00
|
|
|
# **********************************************************************************************************************************
|
2018-04-24 15:12:25 +02:00
|
|
|
|
|
|
|
# **********************************************************************************************************************************
|
|
|
|
# Unit tests
|
|
|
|
# **********************************************************************************************************************************
|
|
|
|
unit:
|
|
|
|
|
2018-04-08 16:19:24 +02:00
|
|
|
# ********************************************************************************************************************************
|
|
|
|
- name: common
|
|
|
|
|
|
|
|
test:
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: error
|
2018-05-05 15:38:09 +02:00
|
|
|
total: 8
|
2018-11-03 22:34:04 +02:00
|
|
|
define-test: -DNO_ERROR -DNO_LOG -DNO_STACK_TRACE -DNO_MEM_CONTEXT
|
2018-04-08 16:19:24 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/error: full
|
|
|
|
common/error.auto: noCode
|
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: assert-on
|
2019-01-21 17:41:59 +02:00
|
|
|
total: 1
|
2018-11-03 22:34:04 +02:00
|
|
|
define-test: -DNO_LOG -DNO_STACK_TRACE -DNO_MEM_CONTEXT
|
2018-04-08 16:19:24 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/assert: noCode
|
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: assert-off
|
2019-01-21 17:41:59 +02:00
|
|
|
total: 1
|
2018-11-03 22:34:04 +02:00
|
|
|
define: -DNDEBUG
|
|
|
|
define-test: -DNO_LOG -DNO_STACK_TRACE -DNO_MEM_CONTEXT
|
2018-04-08 16:19:24 +02:00
|
|
|
debugUnitSuppress: true
|
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/assert: noCode
|
|
|
|
|
2018-04-13 02:42:26 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
2018-05-18 17:57:32 +02:00
|
|
|
- name: stack-trace
|
|
|
|
total: 4
|
2018-11-03 22:34:04 +02:00
|
|
|
define-test: -DNO_LOG -DNO_STACK_TRACE -DNO_MEM_CONTEXT
|
2018-04-13 02:42:26 +02:00
|
|
|
|
|
|
|
coverage:
|
2018-05-18 17:57:32 +02:00
|
|
|
common/stackTrace: full
|
2018-04-13 02:42:26 +02:00
|
|
|
|
2018-04-08 16:19:24 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: mem-context
|
|
|
|
total: 7
|
2018-11-03 22:34:04 +02:00
|
|
|
define-test: -DNO_MEM_CONTEXT -DNO_LOG
|
2018-04-08 16:19:24 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/memContext: full
|
|
|
|
|
2018-05-18 17:57:32 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: time
|
2020-01-07 00:18:52 +02:00
|
|
|
total: 3
|
2018-11-03 22:34:04 +02:00
|
|
|
define-test: -DNO_ERROR -DNO_LOG
|
2018-05-18 17:57:32 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/time: full
|
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: fork
|
|
|
|
total: 1
|
2018-11-03 22:34:04 +02:00
|
|
|
define-test: -DNO_LOG
|
2018-05-18 17:57:32 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/fork: full
|
|
|
|
|
2018-04-08 16:19:24 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: log
|
2018-05-05 15:38:09 +02:00
|
|
|
total: 5
|
2018-11-03 22:34:04 +02:00
|
|
|
define-test: -DNO_LOG
|
2018-04-08 16:19:24 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/log: full
|
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
2018-07-21 00:51:42 +02:00
|
|
|
- name: debug-off
|
|
|
|
total: 2
|
2018-11-03 22:34:04 +02:00
|
|
|
define: -DNDEBUG
|
|
|
|
define-test: -DNO_LOG
|
2018-07-21 00:51:42 +02:00
|
|
|
debugUnitSuppress: true
|
2018-04-08 16:19:24 +02:00
|
|
|
|
|
|
|
coverage:
|
2018-05-18 17:57:32 +02:00
|
|
|
common/debug: full
|
2018-04-08 16:19:24 +02:00
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
2018-07-21 00:51:42 +02:00
|
|
|
- name: debug-on
|
|
|
|
total: 4
|
2018-04-08 16:19:24 +02:00
|
|
|
|
|
|
|
coverage:
|
2018-05-18 17:57:32 +02:00
|
|
|
common/debug: full
|
2018-04-08 16:19:24 +02:00
|
|
|
|
2018-04-11 15:36:12 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: lock
|
|
|
|
total: 2
|
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/lock: full
|
|
|
|
|
2018-04-08 16:19:24 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: exit
|
2018-04-13 02:42:26 +02:00
|
|
|
total: 3
|
2018-04-08 16:19:24 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/exit: full
|
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: wait
|
|
|
|
total: 1
|
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/wait: full
|
|
|
|
|
2018-05-18 17:57:32 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: type-convert
|
2020-08-01 15:42:03 +02:00
|
|
|
total: 11
|
2018-05-18 17:57:32 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/type/convert: full
|
|
|
|
|
2020-03-31 02:52:57 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: type-object
|
|
|
|
total: 1
|
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/type/object: noCode
|
|
|
|
|
2018-04-08 16:19:24 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: type-list
|
2019-09-28 16:08:20 +02:00
|
|
|
total: 4
|
2018-04-08 16:19:24 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/type/list: full
|
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: type-string
|
2019-03-25 18:35:20 +02:00
|
|
|
total: 26
|
2018-04-08 16:19:24 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/type/string: full
|
|
|
|
common/type/stringList: full
|
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: type-buffer
|
2018-09-26 23:33:48 +02:00
|
|
|
total: 6
|
2018-04-08 16:19:24 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/type/buffer: full
|
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: type-variant
|
2019-04-19 17:22:43 +02:00
|
|
|
total: 13
|
2018-04-08 16:19:24 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/type/variant: full
|
|
|
|
common/type/variantList: full
|
|
|
|
|
2019-08-19 02:46:34 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: type-mcv
|
|
|
|
total: 1
|
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/type/mcv: full
|
|
|
|
|
2018-08-09 14:06:23 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: type-json
|
2019-04-23 00:41:01 +02:00
|
|
|
total: 11
|
2018-08-09 14:06:23 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/type/json: full
|
|
|
|
|
2018-04-08 16:19:24 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: type-key-value
|
|
|
|
total: 2
|
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/type/keyValue: full
|
|
|
|
|
2018-07-25 03:08:27 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
2018-11-21 03:40:11 +02:00
|
|
|
- name: type-xml
|
|
|
|
total: 1
|
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/type/xml: full
|
|
|
|
|
2019-09-09 02:11:51 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: user
|
|
|
|
total: 1
|
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/user: full
|
|
|
|
|
2018-11-21 03:40:11 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
2018-07-25 03:08:27 +02:00
|
|
|
- name: io
|
|
|
|
total: 4
|
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/io/bufferRead: full
|
|
|
|
common/io/bufferWrite: full
|
2020-08-06 00:25:07 +02:00
|
|
|
common/io/fdRead: full
|
|
|
|
common/io/fdWrite: full
|
2018-08-14 20:21:53 +02:00
|
|
|
common/io/filter/buffer: full
|
2018-07-25 03:08:27 +02:00
|
|
|
common/io/filter/filter: full
|
|
|
|
common/io/filter/group: full
|
2019-07-18 14:42:42 +02:00
|
|
|
common/io/filter/sink: full
|
2018-08-14 20:21:53 +02:00
|
|
|
common/io/filter/size: full
|
2018-07-25 03:08:27 +02:00
|
|
|
common/io/io: full
|
|
|
|
common/io/read: full
|
|
|
|
common/io/write: full
|
|
|
|
|
2018-11-22 01:43:25 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: io-tls
|
2020-04-16 22:05:44 +02:00
|
|
|
total: 5
|
2018-11-22 01:43:25 +02:00
|
|
|
|
|
|
|
coverage:
|
2020-08-08 16:39:39 +02:00
|
|
|
common/io/client: full
|
|
|
|
common/io/session: full
|
2018-11-22 01:43:25 +02:00
|
|
|
common/io/tls/client: full
|
2020-04-14 21:02:18 +02:00
|
|
|
common/io/tls/session: full
|
2020-03-31 18:43:29 +02:00
|
|
|
common/io/socket/client: full
|
2020-04-01 21:44:51 +02:00
|
|
|
common/io/socket/common: full
|
2020-04-13 22:59:02 +02:00
|
|
|
common/io/socket/session: full
|
2018-11-22 01:43:25 +02:00
|
|
|
|
2018-11-22 02:11:45 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: io-http
|
2020-06-24 19:44:00 +02:00
|
|
|
total: 5
|
2018-11-22 02:11:45 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/io/http/client: full
|
|
|
|
common/io/http/common: full
|
|
|
|
common/io/http/header: full
|
|
|
|
common/io/http/query: full
|
2020-06-24 19:44:00 +02:00
|
|
|
common/io/http/request: full
|
|
|
|
common/io/http/response: full
|
|
|
|
common/io/http/session: full
|
2018-11-22 02:11:45 +02:00
|
|
|
|
2019-03-10 13:11:20 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
2020-02-27 19:09:05 +02:00
|
|
|
- name: compress
|
2020-05-05 22:49:01 +02:00
|
|
|
total: 5
|
2019-03-10 13:11:20 +02:00
|
|
|
|
|
|
|
coverage:
|
2020-05-05 22:49:01 +02:00
|
|
|
common/compress/bz2/common: full
|
|
|
|
common/compress/bz2/compress: full
|
|
|
|
common/compress/bz2/decompress: full
|
2020-02-27 19:09:05 +02:00
|
|
|
common/compress/gz/common: full
|
|
|
|
common/compress/gz/compress: full
|
|
|
|
common/compress/gz/decompress: full
|
2020-03-10 20:45:27 +02:00
|
|
|
common/compress/lz4/common: full
|
|
|
|
common/compress/lz4/compress: full
|
|
|
|
common/compress/lz4/decompress: full
|
2020-05-04 21:25:27 +02:00
|
|
|
common/compress/zst/common: full
|
|
|
|
common/compress/zst/compress: full
|
|
|
|
common/compress/zst/decompress: full
|
2020-03-06 21:41:03 +02:00
|
|
|
common/compress/helper: full
|
2019-03-10 13:11:20 +02:00
|
|
|
|
2019-03-10 13:27:30 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: crypto
|
|
|
|
total: 3
|
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/crypto/cipherBlock: full
|
|
|
|
common/crypto/common: full
|
|
|
|
common/crypto/hash: full
|
2020-05-20 20:56:13 +02:00
|
|
|
common/crypto/md5.vendor: full
|
2019-03-10 13:27:30 +02:00
|
|
|
|
2019-01-18 11:45:40 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: exec
|
|
|
|
total: 1
|
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/exec: full
|
|
|
|
|
2018-04-08 16:19:24 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: encode
|
|
|
|
total: 1
|
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/encode: full
|
|
|
|
common/encode/base64: full
|
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: reg-exp
|
2018-11-09 23:50:22 +02:00
|
|
|
total: 3
|
2018-04-08 16:19:24 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/regExp: full
|
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: ini
|
2019-09-28 20:24:27 +02:00
|
|
|
total: 4
|
2018-04-08 16:19:24 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
common/ini: full
|
|
|
|
|
|
|
|
# ********************************************************************************************************************************
|
|
|
|
- name: postgres
|
|
|
|
|
|
|
|
test:
|
2019-07-25 20:50:02 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: client
|
|
|
|
total: 1
|
|
|
|
|
|
|
|
coverage:
|
|
|
|
postgres/client: full
|
|
|
|
|
2018-04-29 17:20:51 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
2018-09-25 11:24:42 +02:00
|
|
|
- name: interface
|
2020-03-05 23:12:54 +02:00
|
|
|
total: 9
|
2018-04-29 17:20:51 +02:00
|
|
|
|
|
|
|
coverage:
|
2018-09-25 11:24:42 +02:00
|
|
|
postgres/interface: full
|
2020-03-05 23:12:54 +02:00
|
|
|
postgres/interface/page: full
|
2018-04-08 16:19:24 +02:00
|
|
|
|
|
|
|
# ********************************************************************************************************************************
|
|
|
|
- name: config
|
|
|
|
|
|
|
|
test:
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: define
|
|
|
|
total: 2
|
|
|
|
|
|
|
|
coverage:
|
|
|
|
config/define: full
|
|
|
|
config/define.auto: noCode
|
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: config
|
2019-04-10 23:48:34 +02:00
|
|
|
total: 4
|
2018-04-08 16:19:24 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
config/config: full
|
|
|
|
config/config.auto: noCode
|
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: parse
|
2018-04-25 21:46:05 +02:00
|
|
|
total: 4
|
2018-04-08 16:19:24 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
config/parse: full
|
|
|
|
config/parse.auto: noCode
|
|
|
|
|
2020-03-17 00:16:27 +02:00
|
|
|
include:
|
|
|
|
- common/log
|
|
|
|
|
2018-04-08 16:19:24 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: load
|
2018-10-25 15:58:25 +02:00
|
|
|
total: 4
|
2018-04-08 16:19:24 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
config/load: full
|
|
|
|
|
2020-03-17 00:16:27 +02:00
|
|
|
include:
|
|
|
|
- common/log
|
2020-04-01 21:44:51 +02:00
|
|
|
- common/io/socket/common
|
2020-03-17 00:16:27 +02:00
|
|
|
|
2019-01-17 22:29:19 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: exec
|
|
|
|
total: 1
|
|
|
|
|
|
|
|
coverage:
|
|
|
|
config/exec: full
|
|
|
|
|
2019-02-19 20:57:38 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: protocol
|
|
|
|
total: 1
|
|
|
|
|
|
|
|
coverage:
|
|
|
|
config/protocol: full
|
|
|
|
|
2018-04-08 16:19:24 +02:00
|
|
|
# ********************************************************************************************************************************
|
|
|
|
- name: storage
|
|
|
|
|
|
|
|
test:
|
2020-07-02 22:24:34 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: azure
|
|
|
|
total: 3
|
|
|
|
|
|
|
|
coverage:
|
|
|
|
storage/azure/read: full
|
|
|
|
storage/azure/storage: full
|
|
|
|
storage/azure/write: full
|
|
|
|
storage/helper: full
|
|
|
|
|
|
|
|
include:
|
|
|
|
- storage/storage
|
|
|
|
- storage/write
|
|
|
|
|
2018-04-08 16:19:24 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
2019-03-14 11:28:33 +02:00
|
|
|
- name: cifs
|
|
|
|
total: 1
|
|
|
|
|
|
|
|
coverage:
|
2019-05-03 21:46:15 +02:00
|
|
|
storage/cifs/storage: full
|
|
|
|
storage/posix/storage: full
|
2019-03-14 11:28:33 +02:00
|
|
|
storage/helper: full
|
2019-07-26 02:15:06 +02:00
|
|
|
|
|
|
|
include:
|
|
|
|
- storage/storage
|
2019-03-14 11:28:33 +02:00
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
2018-09-17 17:45:41 +02:00
|
|
|
- name: posix
|
2020-03-16 23:24:21 +02:00
|
|
|
total: 21
|
2018-04-08 16:19:24 +02:00
|
|
|
|
|
|
|
coverage:
|
2019-05-03 21:46:15 +02:00
|
|
|
storage/posix/read: full
|
|
|
|
storage/posix/storage: full
|
|
|
|
storage/posix/write: full
|
2020-04-06 22:09:18 +02:00
|
|
|
|
|
|
|
# Provide as much coverage as possible for these modules but some coverage needs to be provided by other driver tests
|
2018-04-08 16:19:24 +02:00
|
|
|
storage/helper: full
|
2019-05-03 21:46:15 +02:00
|
|
|
storage/read: full
|
2018-09-17 17:45:41 +02:00
|
|
|
storage/storage: full
|
2019-05-03 21:46:15 +02:00
|
|
|
storage/write: full
|
2018-04-08 16:19:24 +02:00
|
|
|
|
2019-01-18 22:04:37 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: remote
|
2020-04-06 22:09:18 +02:00
|
|
|
total: 9
|
2019-10-08 18:06:30 +02:00
|
|
|
containerReq: true
|
2019-12-14 00:55:41 +02:00
|
|
|
binReq: true
|
2019-01-18 22:04:37 +02:00
|
|
|
|
|
|
|
coverage:
|
2019-05-03 21:46:15 +02:00
|
|
|
storage/remote/read: full
|
|
|
|
storage/remote/protocol: full
|
|
|
|
storage/remote/storage: full
|
|
|
|
storage/remote/write: full
|
2019-01-18 22:04:37 +02:00
|
|
|
storage/helper: full
|
|
|
|
storage/storage: full
|
|
|
|
|
2019-07-26 02:15:06 +02:00
|
|
|
include:
|
|
|
|
- storage/read
|
|
|
|
- storage/write
|
|
|
|
|
2018-11-22 02:32:49 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: s3
|
|
|
|
total: 3
|
|
|
|
|
|
|
|
coverage:
|
2019-05-03 21:46:15 +02:00
|
|
|
storage/s3/read: full
|
|
|
|
storage/s3/storage: full
|
|
|
|
storage/s3/write: full
|
2018-11-22 02:32:49 +02:00
|
|
|
storage/helper: full
|
|
|
|
storage/storage: full
|
|
|
|
|
2020-04-03 14:38:28 +02:00
|
|
|
include:
|
|
|
|
- storage/write
|
|
|
|
|
2018-04-08 16:19:24 +02:00
|
|
|
# ********************************************************************************************************************************
|
|
|
|
- name: protocol
|
|
|
|
|
|
|
|
test:
|
2019-01-18 21:32:51 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: protocol
|
2020-07-28 18:15:33 +02:00
|
|
|
total: 10
|
2019-10-08 18:06:30 +02:00
|
|
|
containerReq: true
|
2019-12-14 00:55:41 +02:00
|
|
|
binReq: true
|
2019-01-18 21:32:51 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
protocol/client: full
|
2019-02-27 19:48:30 +02:00
|
|
|
protocol/command: full
|
2019-01-18 21:32:51 +02:00
|
|
|
protocol/helper: full
|
2019-02-27 21:10:52 +02:00
|
|
|
protocol/parallel: full
|
|
|
|
protocol/parallelJob: full
|
2019-02-19 20:57:38 +02:00
|
|
|
protocol/server: full
|
2019-01-18 21:32:51 +02:00
|
|
|
|
2020-07-28 18:15:33 +02:00
|
|
|
include:
|
|
|
|
- common/exec
|
|
|
|
|
2018-04-08 16:19:24 +02:00
|
|
|
# ********************************************************************************************************************************
|
|
|
|
- name: info
|
|
|
|
|
|
|
|
test:
|
2018-08-09 14:57:21 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: info
|
2019-08-21 21:12:00 +02:00
|
|
|
total: 3
|
2018-08-09 14:57:21 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
info/info: full
|
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: info-pg
|
2019-08-21 21:12:00 +02:00
|
|
|
total: 2
|
2018-08-09 14:57:21 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
info/infoPg: full
|
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: info-archive
|
2018-12-11 01:45:57 +02:00
|
|
|
total: 2
|
2018-08-09 14:57:21 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
info/infoArchive: full
|
|
|
|
|
2018-09-07 17:03:05 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
2019-02-23 18:51:52 +02:00
|
|
|
- name: info-backup
|
2020-03-26 20:05:40 +02:00
|
|
|
total: 3
|
2018-09-07 17:03:05 +02:00
|
|
|
|
|
|
|
coverage:
|
2019-02-23 18:51:52 +02:00
|
|
|
info/infoBackup: full
|
2018-09-07 17:03:05 +02:00
|
|
|
|
2019-09-23 19:50:46 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: manifest
|
2019-12-09 01:43:47 +02:00
|
|
|
total: 6
|
2019-09-23 19:50:46 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
info/manifest: full
|
|
|
|
|
2019-08-01 21:38:27 +02:00
|
|
|
# ********************************************************************************************************************************
|
|
|
|
- name: db
|
|
|
|
|
|
|
|
test:
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: db
|
2019-12-08 01:44:06 +02:00
|
|
|
total: 3
|
2019-10-08 18:06:30 +02:00
|
|
|
containerReq: true
|
2019-12-14 00:55:41 +02:00
|
|
|
binReq: true
|
2019-08-01 21:38:27 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
db/db: full
|
|
|
|
db/helper: full
|
|
|
|
db/protocol: full
|
|
|
|
|
2018-04-08 16:19:24 +02:00
|
|
|
# ********************************************************************************************************************************
|
2019-02-23 18:51:52 +02:00
|
|
|
- name: command
|
2018-04-08 16:19:24 +02:00
|
|
|
|
|
|
|
test:
|
2018-04-29 16:16:59 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
2019-02-23 18:51:52 +02:00
|
|
|
- name: archive-common
|
2019-03-16 14:14:10 +02:00
|
|
|
total: 8
|
2018-04-29 16:16:59 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
command/archive/common: full
|
|
|
|
|
2018-04-08 16:19:24 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
2019-02-23 18:51:52 +02:00
|
|
|
- name: archive-get
|
2019-02-27 23:03:02 +02:00
|
|
|
total: 5
|
2019-12-14 00:55:41 +02:00
|
|
|
binReq: true
|
2018-04-30 23:27:39 +02:00
|
|
|
|
|
|
|
coverage:
|
2020-02-11 06:30:43 +02:00
|
|
|
command/archive/common: full
|
2018-09-11 21:42:31 +02:00
|
|
|
command/archive/get/file: full
|
2018-04-30 23:27:39 +02:00
|
|
|
command/archive/get/get: full
|
2019-02-27 23:03:02 +02:00
|
|
|
command/archive/get/protocol: full
|
2018-10-02 18:54:43 +02:00
|
|
|
|
2019-02-23 18:51:52 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: archive-push
|
2019-03-29 15:26:33 +02:00
|
|
|
total: 4
|
2019-12-14 00:55:41 +02:00
|
|
|
binReq: true
|
2019-02-23 18:51:52 +02:00
|
|
|
|
|
|
|
coverage:
|
2020-02-11 06:30:43 +02:00
|
|
|
command/archive/common: full
|
2019-03-29 15:26:33 +02:00
|
|
|
command/archive/push/file: full
|
|
|
|
command/archive/push/protocol: full
|
2019-02-23 18:51:52 +02:00
|
|
|
command/archive/push/push: full
|
|
|
|
|
2019-04-15 14:29:25 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
2020-04-27 19:17:30 +02:00
|
|
|
# --test=backup and --test=backup-common must must be run together to get full coverage of backup/common
|
2019-04-15 14:29:25 +02:00
|
|
|
- name: backup-common
|
2019-08-19 02:09:44 +02:00
|
|
|
total: 3
|
2019-04-15 14:29:25 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
command/backup/common: full
|
2019-06-17 13:52:03 +02:00
|
|
|
command/backup/pageChecksum: full
|
2019-04-15 14:29:25 +02:00
|
|
|
|
2019-07-25 20:34:16 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: backup
|
2019-12-14 00:14:26 +02:00
|
|
|
total: 10
|
2019-12-14 00:55:41 +02:00
|
|
|
binReq: true
|
2019-07-25 20:34:16 +02:00
|
|
|
|
|
|
|
coverage:
|
2019-12-14 00:14:26 +02:00
|
|
|
command/backup/backup: full
|
2020-04-27 19:17:30 +02:00
|
|
|
command/backup/common: full
|
2019-07-25 20:34:16 +02:00
|
|
|
command/backup/file: full
|
|
|
|
command/backup/protocol: full
|
2019-07-26 02:15:06 +02:00
|
|
|
|
|
|
|
include:
|
2020-03-18 16:10:10 +02:00
|
|
|
- info/info
|
2019-12-14 00:14:26 +02:00
|
|
|
- info/manifest
|
2019-07-26 02:15:06 +02:00
|
|
|
- storage/storage
|
2019-07-25 20:34:16 +02:00
|
|
|
|
2019-08-02 02:35:01 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: check
|
2019-10-09 00:04:09 +02:00
|
|
|
total: 4
|
|
|
|
containerReq: true
|
2019-08-02 02:35:01 +02:00
|
|
|
|
|
|
|
coverage:
|
2019-08-21 21:41:52 +02:00
|
|
|
command/check/common: full
|
2019-08-02 02:35:01 +02:00
|
|
|
command/check/check: full
|
|
|
|
|
2019-02-23 18:51:52 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: command
|
|
|
|
total: 1
|
|
|
|
|
|
|
|
coverage:
|
|
|
|
command/command: full
|
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: control
|
2019-08-09 21:17:18 +02:00
|
|
|
total: 3
|
2019-02-23 18:51:52 +02:00
|
|
|
|
|
|
|
coverage:
|
2019-07-31 17:35:58 +02:00
|
|
|
command/control/common: full
|
2019-08-09 21:17:18 +02:00
|
|
|
command/control/start: full
|
|
|
|
command/control/stop: full
|
2019-02-23 18:51:52 +02:00
|
|
|
|
2019-06-18 21:19:20 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: expire
|
2020-05-08 21:25:03 +02:00
|
|
|
total: 9
|
2019-06-18 21:19:20 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
command/expire/expire: full
|
|
|
|
|
2020-03-23 20:31:04 +02:00
|
|
|
include:
|
|
|
|
- info/infoBackup
|
|
|
|
|
2019-03-10 11:55:01 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: help
|
|
|
|
total: 4
|
|
|
|
|
|
|
|
coverage:
|
|
|
|
command/help/help: full
|
|
|
|
|
2019-02-23 18:51:52 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: info
|
|
|
|
total: 3
|
|
|
|
|
|
|
|
coverage:
|
|
|
|
command/info/info: full
|
|
|
|
|
2019-02-27 22:34:21 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: local
|
|
|
|
total: 1
|
|
|
|
|
|
|
|
coverage:
|
|
|
|
command/local/local: full
|
|
|
|
|
2019-02-23 18:51:52 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: remote
|
|
|
|
total: 1
|
|
|
|
|
|
|
|
coverage:
|
|
|
|
command/remote/remote: full
|
|
|
|
|
2019-05-20 23:07:37 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: restore
|
2020-01-30 23:38:05 +02:00
|
|
|
total: 12
|
2019-12-14 00:55:41 +02:00
|
|
|
binReq: true
|
2019-05-20 23:07:37 +02:00
|
|
|
|
|
|
|
coverage:
|
|
|
|
command/restore/file: full
|
|
|
|
command/restore/protocol: full
|
2019-09-26 13:52:02 +02:00
|
|
|
command/restore/restore: full
|
|
|
|
|
|
|
|
include:
|
|
|
|
- common/user
|
|
|
|
- info/infoBackup
|
|
|
|
- info/manifest
|
2019-05-20 23:07:37 +02:00
|
|
|
|
2019-08-21 22:26:28 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: stanza
|
|
|
|
total: 5
|
|
|
|
|
|
|
|
coverage:
|
|
|
|
command/stanza/common: full
|
|
|
|
command/stanza/create: full
|
|
|
|
command/stanza/upgrade: full
|
|
|
|
command/stanza/delete: full
|
|
|
|
|
2019-05-28 16:03:48 +02:00
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
2020-03-09 22:41:04 +02:00
|
|
|
- name: repo
|
2020-03-09 23:15:03 +02:00
|
|
|
total: 4
|
2019-05-28 16:03:48 +02:00
|
|
|
|
|
|
|
coverage:
|
2020-03-09 23:15:03 +02:00
|
|
|
command/repo/get: full
|
2020-03-09 22:41:04 +02:00
|
|
|
command/repo/ls: full
|
2020-03-09 23:15:03 +02:00
|
|
|
command/repo/put: full
|
|
|
|
command/repo/rm: full
|
|
|
|
|
|
|
|
include:
|
|
|
|
# command/repo/create is currently for testing purposes only so coverage is not provided except in integration. In the
|
|
|
|
# future this will probably be rolled into a custom object store server implementation.
|
|
|
|
- command/repo/create
|
2019-05-28 16:03:48 +02:00
|
|
|
|
2018-04-24 15:12:25 +02:00
|
|
|
# **********************************************************************************************************************************
|
|
|
|
# Integration tests
|
|
|
|
#
|
|
|
|
# Integration tests are not run in a container. They are expected to create their own containers since most integration runs will
|
|
|
|
# create more than one. For this reason each run is executed individually.
|
|
|
|
# **********************************************************************************************************************************
|
|
|
|
integration:
|
|
|
|
|
2018-04-08 16:19:24 +02:00
|
|
|
# ********************************************************************************************************************************
|
|
|
|
- name: mock
|
|
|
|
|
|
|
|
test:
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
2018-04-08 18:57:02 +02:00
|
|
|
- name: stanza
|
2019-02-24 07:42:41 +02:00
|
|
|
total: 2
|
2018-04-08 16:19:24 +02:00
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
2018-04-08 18:57:02 +02:00
|
|
|
- name: expire
|
2019-03-01 19:04:26 +02:00
|
|
|
total: 2
|
2018-04-08 18:57:02 +02:00
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: archive
|
2019-02-23 15:59:39 +02:00
|
|
|
total: 2
|
2018-04-08 16:19:24 +02:00
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
2018-04-08 18:57:02 +02:00
|
|
|
- name: archive-stop
|
2019-03-01 17:12:41 +02:00
|
|
|
total: 2
|
2018-04-08 18:57:02 +02:00
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: all
|
2019-03-02 15:01:02 +02:00
|
|
|
total: 2
|
2018-04-08 16:19:24 +02:00
|
|
|
|
|
|
|
# ********************************************************************************************************************************
|
|
|
|
- name: real
|
2018-04-08 18:57:02 +02:00
|
|
|
db: true
|
2018-04-08 16:19:24 +02:00
|
|
|
|
|
|
|
test:
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: all
|
Simplify test matrix for real/all tests.
Test matrices were previously simplified for the mock/* tests (e.g. d4410611, d489eb87) but not for real/all since the rules for which tests would run with which options was extremely complex. This only got more complex when new compression formats were added.
Because the loop-generated matrix was so large, mosts tests were skipped for most option combinations following arcane logic which was nearly impossible to decipher even when reading the code, and completely impossible from the test.pl interface. As a consequence, important tests got excluded. For example, backup from standby was excluded for most versions of PostgreSQL because it was only run once per distro, against the latest version to be included in that distro.
Simplify the tests by having a single run per PostgreSQL version and vary test parameters according to the capabilities of each version and the underlying distro. So, ZST testing is based on whether the distro supports ZST. Every test is run for each set of parameters based on the capabilities of the PostgreSQL version, e.g. backup from standby is not attempted on versions that don't support it.
Note that since more tests are running the overall time to run the mock/all tests has increased by about 20-25%. Some time may be saved my removing tests that are adequately covered by unit tests but that should the subject of another commit. Another option would be to limit some non version-specific tests to a single, well defined version of PostgreSQL, .e.g the version that is run by expect tests, currently 9.6.
The motivation for this refactor is that new storage drivers are coming and the loop-generated test matrix simply was not up to the task of adding them.
The following is an example of the new test log (note longer runtime of each test):
module=real, test=all, run=1, pg-version=10 (106.91s)
module=real, test=all, run=1, pg-version=9.5 (151.09s)
module=real, test=all, run=1, pg-version=9.2 (123.11s)
module=real, test=all, run=1, pg-version=9.1 (129s)
vs. the old test log (sub-second tests were skipped entirely):
module=real, test=all, run=2, pg-version=10 (0.31s)
module=real, test=all, run=3, pg-version=10 (0.26s)
module=real, test=all, run=4, pg-version=10 (60.39s)
module=real, test=all, run=1, pg-version=10 (69.12s)
module=real, test=all, run=6, pg-version=10 (34s)
module=real, test=all, run=5, pg-version=10 (42.75s)
module=real, test=all, run=2, pg-version=9.5 (0.21s)
module=real, test=all, run=3, pg-version=9.5 (0.21s)
module=real, test=all, run=4, pg-version=9.5 (0.21s)
module=real, test=all, run=5, pg-version=9.5 (0.26s)
module=real, test=all, run=6, pg-version=9.5 (0.21s)
module=real, test=all, run=1, pg-version=9.2 (72.78s)
module=real, test=all, run=2, pg-version=9.2 (0.26s)
module=real, test=all, run=3, pg-version=9.2 (0.31s)
module=real, test=all, run=4, pg-version=9.2 (0.21s)
module=real, test=all, run=5, pg-version=9.2 (0.21s)
module=real, test=all, run=6, pg-version=9.2 (0.21s)
module=real, test=all, run=1, pg-version=9.5 (88.41s)
module=real, test=all, run=2, pg-version=9.1 (0.21s)
module=real, test=all, run=3, pg-version=9.1 (0.26s)
module=real, test=all, run=4, pg-version=9.1 (0.21s)
module=real, test=all, run=5, pg-version=9.1 (0.31s)
module=real, test=all, run=6, pg-version=9.1 (0.26s)
module=real, test=all, run=1, pg-version=9.1 (72.4s)
2020-06-23 19:44:29 +02:00
|
|
|
total: 1
|
2018-04-08 16:19:24 +02:00
|
|
|
|
2018-04-24 15:12:25 +02:00
|
|
|
# **********************************************************************************************************************************
|
|
|
|
# Performance tests
|
|
|
|
#
|
|
|
|
# Performance tests run in a single container but are more like integration tests than unit tests since they call the pgbackrest
|
|
|
|
# executable directly.
|
|
|
|
# **********************************************************************************************************************************
|
|
|
|
performance:
|
|
|
|
|
2018-04-08 16:19:24 +02:00
|
|
|
# ********************************************************************************************************************************
|
|
|
|
- name: performance
|
|
|
|
|
|
|
|
test:
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
2019-09-28 19:17:21 +02:00
|
|
|
- name: archive-perl
|
2018-04-08 16:19:24 +02:00
|
|
|
total: 1
|
2019-09-28 20:24:27 +02:00
|
|
|
|
|
|
|
test:
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: type
|
|
|
|
total: 3
|
2020-03-27 03:05:36 +02:00
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
- name: storage
|
2020-03-30 03:25:48 +02:00
|
|
|
total: 2
|
2020-03-27 03:05:36 +02:00
|
|
|
|
|
|
|
include:
|
|
|
|
- storage/helper
|