mirror of
https://github.com/neondatabase/neon.git
synced 2026-01-03 19:42:55 +00:00
This PR adds tests runs on Postgres 15 and created unified Allure report with results for all tests. - Split `.github/actions/allure-report` into `.github/actions/allure-report-store` and `.github/actions/allure-report-generate` - Add debug or release pytest parameter for all tests (depending on `BUILD_TYPE` env variable) - Add Postgres version as a pytest parameter for all tests (depending on `DEFAULT_PG_VERSION` env variable) - Fix `test_wal_restore` and `restore_from_wal.sh` to support path with `[`/`]` in it (fixed by applying spellcheck to the script and fixing all warnings), `restore_from_wal_archive.sh` is deleted as unused. - All known failures on Postgres 15 marked with xfail
22 lines
896 B
Bash
Executable File
22 lines
896 B
Bash
Executable File
#!/bin/bash
|
|
|
|
set -euxo pipefail
|
|
|
|
PG_BIN=$1
|
|
WAL_PATH=$2
|
|
DATA_DIR=$3
|
|
PORT=$4
|
|
SYSID=$(od -A n -j 24 -N 8 -t d8 "$WAL_PATH"/000000010000000000000002* | cut -c 3-)
|
|
rm -fr "$DATA_DIR"
|
|
env -i LD_LIBRARY_PATH="$PG_BIN"/../lib "$PG_BIN"/initdb -E utf8 -U cloud_admin -D "$DATA_DIR" --sysid="$SYSID"
|
|
echo port="$PORT" >> "$DATA_DIR"/postgresql.conf
|
|
REDO_POS=0x$("$PG_BIN"/pg_controldata -D "$DATA_DIR" | grep -F "REDO location"| cut -c 42-)
|
|
declare -i WAL_SIZE=$REDO_POS+114
|
|
"$PG_BIN"/pg_ctl -D "$DATA_DIR" -l logfile start
|
|
"$PG_BIN"/pg_ctl -D "$DATA_DIR" -l logfile stop -m immediate
|
|
cp "$DATA_DIR"/pg_wal/000000010000000000000001 .
|
|
cp "$WAL_PATH"/* "$DATA_DIR"/pg_wal/
|
|
for partial in "$DATA_DIR"/pg_wal/*.partial ; do mv "$partial" "${partial%.partial}" ; done
|
|
dd if=000000010000000000000001 of="$DATA_DIR"/pg_wal/000000010000000000000001 bs=$WAL_SIZE count=1 conv=notrunc
|
|
rm -f 000000010000000000000001
|