Mats Kindahl 0bc3f0b55a Factor out repair test from update test
In order to implement repair tests, changes are made to the
`constraint_check` table to simulate a broken dependency, which
requires the constraints on that table to be dropped. This means that
the repair runs without constraints, and a bug in the update test could
potentially not get caught.

This commit fixes this by factoring out the repair tests from the
update tests and run them as a separate pass. This means that the
contraints are not dropped in the update tests and bugs there will be
caught.

In addition, some bash functions are factored out into a separate file
to avoid duplication.
2021-03-17 17:57:44 +01:00
..
2020-10-13 18:06:28 +02:00
2020-10-13 09:41:12 +02:00
2020-10-13 18:06:28 +02:00
2021-01-28 15:04:30 +01:00
2020-10-13 18:06:28 +02:00
2020-10-13 18:06:28 +02:00
2020-10-13 18:06:28 +02:00
2020-12-21 12:31:43 +01:00
2021-03-04 11:48:49 +01:00
2020-09-28 17:19:04 +02:00
2020-12-21 12:31:43 +01:00
2021-01-28 15:04:30 +01:00
2020-12-21 12:31:43 +01:00
2020-06-02 23:48:35 +02:00
2021-03-04 11:48:49 +01:00

Testing using multiple versions

This tests creates multiple instances with different upgrade scenarios:

CONTAINER_UPDATED:

  • install previous version
  • run test setup script
  • update container
  • ALTER EXTENSION UPDATE

CONTAINER_CLEAN_RERUN:

  • install master
  • run test setup script

CONTAINER_CLEAN_RESTORE:

  • dump CONTAINER_UPDATED with pg_dump
  • restore in new container

After those steps the test post script is run on all instances and the output diffed, throwing an error if there is a difference between any of the instances.