From 2fd9bd45b3b868acd5ecde9d7a708e0ef636c844 Mon Sep 17 00:00:00 2001 From: "Mikhail A. Kulagin" Date: Fri, 22 Oct 2021 18:05:41 +0300 Subject: [PATCH 1/9] [travis] try to fix test_ptrack_vacuum_full --- .travis.yml | 38 +++++++++++++++++++------------------- docker-compose.yml | 20 +++++++++++++++++--- run_tests.sh | 7 +++++++ 3 files changed, 43 insertions(+), 22 deletions(-) diff --git a/.travis.yml b/.travis.yml index c3edfdf..0723de8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,26 +21,26 @@ notifications: # keep in sync with codecov.yml number of builds env: - - PG_VERSION=15 PG_BRANCH=master TEST_CASE=tap - - PG_VERSION=15 PG_BRANCH=master TEST_CASE=tap MODE=legacy - - PG_VERSION=15 PG_BRANCH=master TEST_CASE=all - - PG_VERSION=15 PG_BRANCH=master TEST_CASE=all MODE=paranoia - - PG_VERSION=14 PG_BRANCH=REL_14_STABLE TEST_CASE=tap - - PG_VERSION=14 PG_BRANCH=REL_14_STABLE TEST_CASE=tap MODE=legacy - - PG_VERSION=14 PG_BRANCH=REL_14_STABLE TEST_CASE=all +# - PG_VERSION=15 PG_BRANCH=master TEST_CASE=tap +# - PG_VERSION=15 PG_BRANCH=master TEST_CASE=tap MODE=legacy +# - PG_VERSION=15 PG_BRANCH=master TEST_CASE=all +# - PG_VERSION=15 PG_BRANCH=master TEST_CASE=all MODE=paranoia +# - PG_VERSION=14 PG_BRANCH=REL_14_STABLE TEST_CASE=tap +# - PG_VERSION=14 PG_BRANCH=REL_14_STABLE TEST_CASE=tap MODE=legacy +# - PG_VERSION=14 PG_BRANCH=REL_14_STABLE TEST_CASE=all - PG_VERSION=14 PG_BRANCH=REL_14_STABLE TEST_CASE=all MODE=paranoia - - PG_VERSION=13 PG_BRANCH=REL_13_STABLE TEST_CASE=tap - - PG_VERSION=13 PG_BRANCH=REL_13_STABLE TEST_CASE=tap MODE=legacy - - PG_VERSION=13 PG_BRANCH=REL_13_STABLE TEST_CASE=all - - PG_VERSION=13 PG_BRANCH=REL_13_STABLE TEST_CASE=all MODE=paranoia - - PG_VERSION=12 PG_BRANCH=REL_12_STABLE TEST_CASE=tap - - PG_VERSION=12 PG_BRANCH=REL_12_STABLE TEST_CASE=tap MODE=legacy - - PG_VERSION=12 PG_BRANCH=REL_12_STABLE TEST_CASE=all - - PG_VERSION=12 PG_BRANCH=REL_12_STABLE TEST_CASE=all MODE=paranoia - - PG_VERSION=11 PG_BRANCH=REL_11_STABLE TEST_CASE=tap - - PG_VERSION=11 PG_BRANCH=REL_11_STABLE TEST_CASE=tap MODE=legacy - - PG_VERSION=11 PG_BRANCH=REL_11_STABLE TEST_CASE=all - - PG_VERSION=11 PG_BRANCH=REL_11_STABLE TEST_CASE=all MODE=paranoia +# - PG_VERSION=13 PG_BRANCH=REL_13_STABLE TEST_CASE=tap +# - PG_VERSION=13 PG_BRANCH=REL_13_STABLE TEST_CASE=tap MODE=legacy +# - PG_VERSION=13 PG_BRANCH=REL_13_STABLE TEST_CASE=all +# - PG_VERSION=13 PG_BRANCH=REL_13_STABLE TEST_CASE=all MODE=paranoia +# - PG_VERSION=12 PG_BRANCH=REL_12_STABLE TEST_CASE=tap +# - PG_VERSION=12 PG_BRANCH=REL_12_STABLE TEST_CASE=tap MODE=legacy +# - PG_VERSION=12 PG_BRANCH=REL_12_STABLE TEST_CASE=all +# - PG_VERSION=12 PG_BRANCH=REL_12_STABLE TEST_CASE=all MODE=paranoia +# - PG_VERSION=11 PG_BRANCH=REL_11_STABLE TEST_CASE=tap +# - PG_VERSION=11 PG_BRANCH=REL_11_STABLE TEST_CASE=tap MODE=legacy +# - PG_VERSION=11 PG_BRANCH=REL_11_STABLE TEST_CASE=all +# - PG_VERSION=11 PG_BRANCH=REL_11_STABLE TEST_CASE=all MODE=paranoia jobs: allow_failures: diff --git a/docker-compose.yml b/docker-compose.yml index 544e59f..fc65455 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,3 +1,17 @@ -tests: - privileged: true - build: . +version: "3.7" +services: + tests: + build: + context: . + + cap_add: + - SYS_PTRACE + + security_opt: + - seccomp=unconfined + + # don't work + #sysctls: + # kernel.yama.ptrace_scope: 0 + privileged: true + diff --git a/run_tests.sh b/run_tests.sh index c47617f..2a720bf 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -97,6 +97,13 @@ if [ "$TEST_CASE" = "tap" ]; then fi else + # Show kernel params (used for debugging -- probackup tests) + echo "############### kernel params:" + cat /proc/sys/kernel/yama/ptrace_scope + sysctl kernel.yama.ptrace_scope=0 + cat /proc/sys/kernel/yama/ptrace_scope + sudo sysctl kernel.yama.ptrace_scope=0 + cat /proc/sys/kernel/yama/ptrace_scope # Build and install pg_probackup echo "############### Compiling and installing pg_probackup" From 552128ba652bea5fe65f8d0b9d5068721ee38581 Mon Sep 17 00:00:00 2001 From: "Mikhail A. Kulagin" Date: Sat, 23 Oct 2021 17:56:55 +0300 Subject: [PATCH 2/9] [travis] try to fix test_ptrack_vacuum_full #2 --- .travis.yml | 6 ++++-- run_tests.sh | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0723de8..7c8bbba 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,8 @@ install: - docker-compose build script: - - docker-compose run $(bash <(curl -s https://codecov.io/env)) tests +# - docker-compose run $(bash <(curl -s https://codecov.io/env)) tests + - docker-compose run tests notifications: email: @@ -28,7 +29,8 @@ env: # - PG_VERSION=14 PG_BRANCH=REL_14_STABLE TEST_CASE=tap # - PG_VERSION=14 PG_BRANCH=REL_14_STABLE TEST_CASE=tap MODE=legacy # - PG_VERSION=14 PG_BRANCH=REL_14_STABLE TEST_CASE=all - - PG_VERSION=14 PG_BRANCH=REL_14_STABLE TEST_CASE=all MODE=paranoia +# - PG_VERSION=14 PG_BRANCH=REL_14_STABLE TEST_CASE=all MODE=paranoia + - PG_VERSION=14 PG_BRANCH=REL_14_STABLE TEST_CASE=test_ptrack_vacuum_full MODE=paranoia # - PG_VERSION=13 PG_BRANCH=REL_13_STABLE TEST_CASE=tap # - PG_VERSION=13 PG_BRANCH=REL_13_STABLE TEST_CASE=tap MODE=legacy # - PG_VERSION=13 PG_BRANCH=REL_13_STABLE TEST_CASE=all diff --git a/run_tests.sh b/run_tests.sh index 2a720bf..8f84bc9 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -75,7 +75,6 @@ echo "############### Compiling and installing ptrack extension" # XXX: Hackish way to make possible to run tap tests mkdir $PG_SRC/contrib/ptrack -cp * $PG_SRC/contrib/ptrack/ cp -R t $PG_SRC/contrib/ptrack/ make USE_PGXS=1 PG_CPPFLAGS="-coverage" SHLIB_LINK="-coverage" -C $PG_SRC/contrib/ptrack/ install @@ -104,6 +103,7 @@ else cat /proc/sys/kernel/yama/ptrace_scope sudo sysctl kernel.yama.ptrace_scope=0 cat /proc/sys/kernel/yama/ptrace_scope + ls -l /usr/sbin # Build and install pg_probackup echo "############### Compiling and installing pg_probackup" From 7cf123ff1a3fe4d964e63325dd30344eba6b32c9 Mon Sep 17 00:00:00 2001 From: "Mikhail A. Kulagin" Date: Sat, 23 Oct 2021 18:23:41 +0300 Subject: [PATCH 3/9] [travis] try to fix test_ptrack_vacuum_full #3 --- run_tests.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/run_tests.sh b/run_tests.sh index 8f84bc9..de52519 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -103,6 +103,8 @@ else cat /proc/sys/kernel/yama/ptrace_scope sudo sysctl kernel.yama.ptrace_scope=0 cat /proc/sys/kernel/yama/ptrace_scope + sudo sh -c 'echo 0 > /proc/sys/kernel/yama/ptrace_scope' + cat /proc/sys/kernel/yama/ptrace_scope ls -l /usr/sbin # Build and install pg_probackup From 01a9bb9e4f151b19e918eaa6ea3ba0be1f35f1a4 Mon Sep 17 00:00:00 2001 From: "Mikhail A. Kulagin" Date: Sat, 23 Oct 2021 18:40:23 +0300 Subject: [PATCH 4/9] [travis] try to fix test_ptrack_vacuum_full #4 --- run_tests.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/run_tests.sh b/run_tests.sh index de52519..07bf16a 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -74,8 +74,9 @@ cd .. echo "############### Compiling and installing ptrack extension" # XXX: Hackish way to make possible to run tap tests -mkdir $PG_SRC/contrib/ptrack -cp -R t $PG_SRC/contrib/ptrack/ +#mkdir $PG_SRC/contrib/ptrack +#cp -R t $PG_SRC/contrib/ptrack/ +ln -s `pwd` $PG_SRC/contrib/ptrack make USE_PGXS=1 PG_CPPFLAGS="-coverage" SHLIB_LINK="-coverage" -C $PG_SRC/contrib/ptrack/ install From 6a5d07926550767a5f5b382d493d4026732bea67 Mon Sep 17 00:00:00 2001 From: "Mikhail A. Kulagin" Date: Sat, 23 Oct 2021 18:50:19 +0300 Subject: [PATCH 5/9] [travis] fix test_ptrack_vacuum_full #4 --- .travis.yml | 3 +-- run_tests.sh | 13 ++----------- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7c8bbba..7c4b79c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,8 +12,7 @@ install: - docker-compose build script: -# - docker-compose run $(bash <(curl -s https://codecov.io/env)) tests - - docker-compose run tests + - docker-compose run $(bash <(curl -s https://codecov.io/env)) tests notifications: email: diff --git a/run_tests.sh b/run_tests.sh index 07bf16a..f4939d7 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -74,8 +74,6 @@ cd .. echo "############### Compiling and installing ptrack extension" # XXX: Hackish way to make possible to run tap tests -#mkdir $PG_SRC/contrib/ptrack -#cp -R t $PG_SRC/contrib/ptrack/ ln -s `pwd` $PG_SRC/contrib/ptrack make USE_PGXS=1 PG_CPPFLAGS="-coverage" SHLIB_LINK="-coverage" -C $PG_SRC/contrib/ptrack/ install @@ -97,16 +95,9 @@ if [ "$TEST_CASE" = "tap" ]; then fi else - # Show kernel params (used for debugging -- probackup tests) - echo "############### kernel params:" - cat /proc/sys/kernel/yama/ptrace_scope - sysctl kernel.yama.ptrace_scope=0 - cat /proc/sys/kernel/yama/ptrace_scope - sudo sysctl kernel.yama.ptrace_scope=0 - cat /proc/sys/kernel/yama/ptrace_scope + # Set kernel params (used for debugging -- probackup tests) + echo "############### setting kernel params:" sudo sh -c 'echo 0 > /proc/sys/kernel/yama/ptrace_scope' - cat /proc/sys/kernel/yama/ptrace_scope - ls -l /usr/sbin # Build and install pg_probackup echo "############### Compiling and installing pg_probackup" From 326814b5682f9f9a0cba7d0fd7990739d3e98f40 Mon Sep 17 00:00:00 2001 From: "Mikhail A. Kulagin" Date: Sat, 23 Oct 2021 18:59:47 +0300 Subject: [PATCH 6/9] [travis] fix test_ptrack_vacuum_full (revert some changes) --- .travis.yml | 41 ++++++++++++++++++++--------------------- run_tests.sh | 2 +- 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7c4b79c..c3edfdf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,27 +21,26 @@ notifications: # keep in sync with codecov.yml number of builds env: -# - PG_VERSION=15 PG_BRANCH=master TEST_CASE=tap -# - PG_VERSION=15 PG_BRANCH=master TEST_CASE=tap MODE=legacy -# - PG_VERSION=15 PG_BRANCH=master TEST_CASE=all -# - PG_VERSION=15 PG_BRANCH=master TEST_CASE=all MODE=paranoia -# - PG_VERSION=14 PG_BRANCH=REL_14_STABLE TEST_CASE=tap -# - PG_VERSION=14 PG_BRANCH=REL_14_STABLE TEST_CASE=tap MODE=legacy -# - PG_VERSION=14 PG_BRANCH=REL_14_STABLE TEST_CASE=all -# - PG_VERSION=14 PG_BRANCH=REL_14_STABLE TEST_CASE=all MODE=paranoia - - PG_VERSION=14 PG_BRANCH=REL_14_STABLE TEST_CASE=test_ptrack_vacuum_full MODE=paranoia -# - PG_VERSION=13 PG_BRANCH=REL_13_STABLE TEST_CASE=tap -# - PG_VERSION=13 PG_BRANCH=REL_13_STABLE TEST_CASE=tap MODE=legacy -# - PG_VERSION=13 PG_BRANCH=REL_13_STABLE TEST_CASE=all -# - PG_VERSION=13 PG_BRANCH=REL_13_STABLE TEST_CASE=all MODE=paranoia -# - PG_VERSION=12 PG_BRANCH=REL_12_STABLE TEST_CASE=tap -# - PG_VERSION=12 PG_BRANCH=REL_12_STABLE TEST_CASE=tap MODE=legacy -# - PG_VERSION=12 PG_BRANCH=REL_12_STABLE TEST_CASE=all -# - PG_VERSION=12 PG_BRANCH=REL_12_STABLE TEST_CASE=all MODE=paranoia -# - PG_VERSION=11 PG_BRANCH=REL_11_STABLE TEST_CASE=tap -# - PG_VERSION=11 PG_BRANCH=REL_11_STABLE TEST_CASE=tap MODE=legacy -# - PG_VERSION=11 PG_BRANCH=REL_11_STABLE TEST_CASE=all -# - PG_VERSION=11 PG_BRANCH=REL_11_STABLE TEST_CASE=all MODE=paranoia + - PG_VERSION=15 PG_BRANCH=master TEST_CASE=tap + - PG_VERSION=15 PG_BRANCH=master TEST_CASE=tap MODE=legacy + - PG_VERSION=15 PG_BRANCH=master TEST_CASE=all + - PG_VERSION=15 PG_BRANCH=master TEST_CASE=all MODE=paranoia + - PG_VERSION=14 PG_BRANCH=REL_14_STABLE TEST_CASE=tap + - PG_VERSION=14 PG_BRANCH=REL_14_STABLE TEST_CASE=tap MODE=legacy + - PG_VERSION=14 PG_BRANCH=REL_14_STABLE TEST_CASE=all + - PG_VERSION=14 PG_BRANCH=REL_14_STABLE TEST_CASE=all MODE=paranoia + - PG_VERSION=13 PG_BRANCH=REL_13_STABLE TEST_CASE=tap + - PG_VERSION=13 PG_BRANCH=REL_13_STABLE TEST_CASE=tap MODE=legacy + - PG_VERSION=13 PG_BRANCH=REL_13_STABLE TEST_CASE=all + - PG_VERSION=13 PG_BRANCH=REL_13_STABLE TEST_CASE=all MODE=paranoia + - PG_VERSION=12 PG_BRANCH=REL_12_STABLE TEST_CASE=tap + - PG_VERSION=12 PG_BRANCH=REL_12_STABLE TEST_CASE=tap MODE=legacy + - PG_VERSION=12 PG_BRANCH=REL_12_STABLE TEST_CASE=all + - PG_VERSION=12 PG_BRANCH=REL_12_STABLE TEST_CASE=all MODE=paranoia + - PG_VERSION=11 PG_BRANCH=REL_11_STABLE TEST_CASE=tap + - PG_VERSION=11 PG_BRANCH=REL_11_STABLE TEST_CASE=tap MODE=legacy + - PG_VERSION=11 PG_BRANCH=REL_11_STABLE TEST_CASE=all + - PG_VERSION=11 PG_BRANCH=REL_11_STABLE TEST_CASE=all MODE=paranoia jobs: allow_failures: diff --git a/run_tests.sh b/run_tests.sh index f4939d7..27e804c 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -96,7 +96,7 @@ if [ "$TEST_CASE" = "tap" ]; then else # Set kernel params (used for debugging -- probackup tests) - echo "############### setting kernel params:" + echo "############### setting kernel params" sudo sh -c 'echo 0 > /proc/sys/kernel/yama/ptrace_scope' # Build and install pg_probackup From 6e04c5249cc18dcad67581098be1d092a7d446f4 Mon Sep 17 00:00:00 2001 From: "Mikhail A. Kulagin" Date: Sat, 23 Oct 2021 21:21:27 +0300 Subject: [PATCH 7/9] [travis] Remove unused PG_VERSION (PG_MAJOR) variable Reworking working directories (helps tap test) Remove unused amcheck install --- .travis.yml | 40 +++++++++--------- Dockerfile.in | 12 +++--- README.md | 1 - make_dockerfile.sh | 7 ---- run_tests.sh | 101 +++++++++++++++++---------------------------- 5 files changed, 65 insertions(+), 96 deletions(-) diff --git a/.travis.yml b/.travis.yml index c3edfdf..30ced1a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,26 +21,26 @@ notifications: # keep in sync with codecov.yml number of builds env: - - PG_VERSION=15 PG_BRANCH=master TEST_CASE=tap - - PG_VERSION=15 PG_BRANCH=master TEST_CASE=tap MODE=legacy - - PG_VERSION=15 PG_BRANCH=master TEST_CASE=all - - PG_VERSION=15 PG_BRANCH=master TEST_CASE=all MODE=paranoia - - PG_VERSION=14 PG_BRANCH=REL_14_STABLE TEST_CASE=tap - - PG_VERSION=14 PG_BRANCH=REL_14_STABLE TEST_CASE=tap MODE=legacy - - PG_VERSION=14 PG_BRANCH=REL_14_STABLE TEST_CASE=all - - PG_VERSION=14 PG_BRANCH=REL_14_STABLE TEST_CASE=all MODE=paranoia - - PG_VERSION=13 PG_BRANCH=REL_13_STABLE TEST_CASE=tap - - PG_VERSION=13 PG_BRANCH=REL_13_STABLE TEST_CASE=tap MODE=legacy - - PG_VERSION=13 PG_BRANCH=REL_13_STABLE TEST_CASE=all - - PG_VERSION=13 PG_BRANCH=REL_13_STABLE TEST_CASE=all MODE=paranoia - - PG_VERSION=12 PG_BRANCH=REL_12_STABLE TEST_CASE=tap - - PG_VERSION=12 PG_BRANCH=REL_12_STABLE TEST_CASE=tap MODE=legacy - - PG_VERSION=12 PG_BRANCH=REL_12_STABLE TEST_CASE=all - - PG_VERSION=12 PG_BRANCH=REL_12_STABLE TEST_CASE=all MODE=paranoia - - PG_VERSION=11 PG_BRANCH=REL_11_STABLE TEST_CASE=tap - - PG_VERSION=11 PG_BRANCH=REL_11_STABLE TEST_CASE=tap MODE=legacy - - PG_VERSION=11 PG_BRANCH=REL_11_STABLE TEST_CASE=all - - PG_VERSION=11 PG_BRANCH=REL_11_STABLE TEST_CASE=all MODE=paranoia +# - PG_BRANCH=master TEST_CASE=tap +# - PG_BRANCH=master TEST_CASE=tap MODE=legacy +# - PG_BRANCH=master TEST_CASE=all +# - PG_BRANCH=master TEST_CASE=all MODE=paranoia + - PG_BRANCH=REL_14_STABLE TEST_CASE=tap + - PG_BRANCH=REL_14_STABLE TEST_CASE=tap MODE=legacy + - PG_BRANCH=REL_14_STABLE TEST_CASE=all + - PG_BRANCH=REL_14_STABLE TEST_CASE=all MODE=paranoia +# - PG_BRANCH=REL_13_STABLE TEST_CASE=tap +# - PG_BRANCH=REL_13_STABLE TEST_CASE=tap MODE=legacy +# - PG_BRANCH=REL_13_STABLE TEST_CASE=all +# - PG_BRANCH=REL_13_STABLE TEST_CASE=all MODE=paranoia +# - PG_BRANCH=REL_12_STABLE TEST_CASE=tap +# - PG_BRANCH=REL_12_STABLE TEST_CASE=tap MODE=legacy +# - PG_BRANCH=REL_12_STABLE TEST_CASE=all +# - PG_BRANCH=REL_12_STABLE TEST_CASE=all MODE=paranoia +# - PG_BRANCH=REL_11_STABLE TEST_CASE=tap +# - PG_BRANCH=REL_11_STABLE TEST_CASE=tap MODE=legacy +# - PG_BRANCH=REL_11_STABLE TEST_CASE=all +# - PG_BRANCH=REL_11_STABLE TEST_CASE=all MODE=paranoia jobs: allow_failures: diff --git a/Dockerfile.in b/Dockerfile.in index 39541da..c2b0ffd 100644 --- a/Dockerfile.in +++ b/Dockerfile.in @@ -5,21 +5,21 @@ RUN apt-get update RUN apt-get -yq install python python-pip python-virtualenv # Environment -ENV PG_MAJOR=${PG_VERSION} PG_BRANCH=${PG_BRANCH} -ENV LANG=C.UTF-8 PGHOME=/pg/testdir/pgbin +ENV PG_BRANCH=${PG_BRANCH} +ENV LANG=C.UTF-8 PGHOME=/testdir/pgbin ENV MODE=${MODE} TEST_CASE=${TEST_CASE} TEST_REPEATS=${TEST_REPEATS} # Make directories -RUN mkdir -p /pg/testdir +RUN mkdir -p /testdir COPY run_tests.sh /run.sh RUN chmod 755 /run.sh -COPY . /pg/testdir -WORKDIR /pg/testdir +COPY . /testdir/ptrack +WORKDIR /testdir # Grant privileges -RUN chown -R postgres:postgres /pg/testdir +RUN chown -R postgres:postgres /testdir USER postgres ENTRYPOINT /run.sh diff --git a/README.md b/README.md index b6b35fd..898df12 100644 --- a/README.md +++ b/README.md @@ -151,7 +151,6 @@ Feel free to [send pull requests](https://github.com/postgrespro/ptrack/compare) Everything is tested automatically with [travis-ci.com](https://travis-ci.com/postgrespro/ptrack) and [codecov.io](https://codecov.io/gh/postgrespro/ptrack), but you can also run tests locally via `Docker`: ```sh -export PG_VERSION=14 export PG_BRANCH=REL_14_STABLE export TEST_CASE=all export MODE=paranoia diff --git a/make_dockerfile.sh b/make_dockerfile.sh index 52543e8..409a5b9 100755 --- a/make_dockerfile.sh +++ b/make_dockerfile.sh @@ -1,10 +1,5 @@ #!/usr/bin/env sh -if [ -z ${PG_VERSION+x} ]; then - echo PG_VERSION is not set! - exit 1 -fi - if [ -z ${PG_BRANCH+x} ]; then echo PG_BRANCH is not set! exit 1 @@ -28,11 +23,9 @@ else echo TEST_REPEATS=${TEST_REPEATS} fi -echo PG_VERSION=${PG_VERSION} echo PG_BRANCH=${PG_BRANCH} sed \ - -e 's/${PG_VERSION}/'${PG_VERSION}/g \ -e 's/${PG_BRANCH}/'${PG_BRANCH}/g \ -e 's/${MODE}/'${MODE}/g \ -e 's/${TEST_CASE}/'${TEST_CASE}/g \ diff --git a/run_tests.sh b/run_tests.sh index 27e804c..8a6f5ea 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -1,55 +1,47 @@ #!/usr/bin/env bash # -# Copyright (c) 2019-2020, Postgres Professional +# Copyright (c) 2019-2021, Postgres Professional # -PG_SRC=$PWD/postgres +PTRACK_SRC=${PWD}/ptrack +PG_SRC=${PWD}/postgres +PBK_SRC=${PWD}/pg_probackup status=0 -# curl "https://ftp.postgresql.org/pub/source/v$PG_VERSION/postgresql-$PG_VERSION.tar.bz2" -o postgresql.tar.bz2 -# echo "$PG_SHA256 *postgresql.tar.bz2" | sha256sum -c - - -# mkdir $PG_SRC - -# tar \ -# --extract \ -# --file postgresql.tar.bz2 \ -# --directory $PG_SRC \ -# --strip-components 1 - +######################################################### # Clone Postgres echo "############### Getting Postgres sources" -git clone https://github.com/postgres/postgres.git -b $PG_BRANCH --depth=1 +git clone https://github.com/postgres/postgres.git --depth=1 --branch=${PG_BRANCH} ${PG_SRC} # Clone pg_probackup echo "############### Getting pg_probackup sources" -git clone https://github.com/postgrespro/pg_probackup.git --depth=1 -b master -# git clone https://github.com/ololobus/pg_probackup.git --depth=1 -b ptrack-tests +git clone https://github.com/postgrespro/pg_probackup.git --depth=1 --branch=master ${PBK_SRC} +######################################################### # Compile and install Postgres -cd postgres # Go to postgres dir +cd ${PG_SRC} # Go to postgres dir echo "############### Applying ptrack patch" -git apply -v -3 ../patches/$PG_BRANCH-ptrack-core.diff +git apply --verbose --3way ${PTRACK_SRC}/patches/${PG_BRANCH}-ptrack-core.diff -if [ "$MODE" = "paranoia" ]; then +if [ "${MODE}" = "paranoia" ]; then echo "############### Paranoia mode: applying turn-off-hint-bits.diff" - git apply -v -3 ../patches/turn-off-hint-bits.diff + git apply --verbose --3way ${PTRACK_SRC}/patches/turn-off-hint-bits.diff fi echo "############### Compiling Postgres" -if [ "$TEST_CASE" = "tap" ] && [ "$MODE" = "legacy" ]; then - ./configure CFLAGS='-DEXEC_BACKEND' --disable-atomics --prefix=$PGHOME --enable-debug --enable-cassert --enable-depend --enable-tap-tests +if [ "${TEST_CASE}" = "tap" ] && [ "${MODE}" = "legacy" ]; then + ./configure CFLAGS='-DEXEC_BACKEND' --disable-atomics --prefix=${PGHOME} --enable-debug --enable-cassert --enable-depend --enable-tap-tests --quiet else - ./configure --prefix=$PGHOME --enable-debug --enable-cassert --enable-depend --enable-tap-tests + ./configure --prefix=${PGHOME} --enable-debug --enable-cassert --enable-depend --enable-tap-tests --quiet fi -make -s -j$(nproc) install -make -s -j$(nproc) -C contrib/ install +make --quiet --jobs=$(nproc) install +make --quiet --jobs=$(nproc) --directory=contrib/ install # Override default Postgres instance -export PATH=$PGHOME/bin:$PATH -export LD_LIBRARY_PATH=$PGHOME/lib +export PATH=${PGHOME}/bin:${PATH} +export LD_LIBRARY_PATH=${PGHOME}/lib export PG_CONFIG=$(which pg_config) # Show pg_config path (just in case) @@ -60,38 +52,26 @@ which pg_config echo "############### pg_config" pg_config -# Get amcheck if missing -if [ ! -d "contrib/amcheck" ]; then - echo "############### Getting missing amcheck" - git clone https://github.com/petergeoghegan/amcheck.git --depth=1 contrib/amcheck - make USE_PGXS=1 -C contrib/amcheck install -fi - -# Get back to testdir -cd .. - +######################################################### # Build and install ptrack extension echo "############### Compiling and installing ptrack extension" +cp --recursive ${PTRACK_SRC} ${PG_SRC}/contrib/ptrack +make USE_PGXS=1 PG_CPPFLAGS="-coverage" SHLIB_LINK="-coverage" --directory=${PG_SRC}/contrib/ptrack/ install -# XXX: Hackish way to make possible to run tap tests -ln -s `pwd` $PG_SRC/contrib/ptrack - -make USE_PGXS=1 PG_CPPFLAGS="-coverage" SHLIB_LINK="-coverage" -C $PG_SRC/contrib/ptrack/ install - -if [ "$TEST_CASE" = "tap" ]; then +if [ "${TEST_CASE}" = "tap" ]; then # Run tap tests echo "############### Running tap tests" - if [ "$MODE" = "legacy" ]; then + if [ "${MODE}" = "legacy" ]; then # There is a known issue with attaching shared memory segment using the same # address each time, when EXEC_BACKEND mechanism is turned on. It happens due # to the ASLR address space randomization, so we are trying to attach a segment # to the already occupied location. That way we simply turning off ASLR here. # # Postgres comment: https://github.com/postgres/postgres/blob/5cbfce562f7cd2aab0cdc4694ce298ec3567930e/src/backend/postmaster/postmaster.c#L4929 - setarch x86_64 --addr-no-randomize make -C postgres/contrib/ptrack check || status=$? + setarch x86_64 --addr-no-randomize make --directory=${PG_SRC}/contrib/ptrack check || status=$? else - make -C postgres/contrib/ptrack check || status=$? + make --directory=${PG_SRC}/contrib/ptrack check || status=$? fi else @@ -101,8 +81,8 @@ else # Build and install pg_probackup echo "############### Compiling and installing pg_probackup" - cd pg_probackup # Go to pg_probackup dir - make USE_PGXS=1 top_srcdir=$PG_SRC install + cd ${PBK_SRC} # Go to pg_probackup dir + make USE_PGXS=1 top_srcdir=${PG_SRC} install # Setup python environment echo "############### Setting up python env" @@ -111,35 +91,32 @@ else pip install testgres==1.8.2 echo "############### Testing" - if [ "$MODE" = "basic" ]; then + export PG_PROBACKUP_PTRACK=ON + if [ "${MODE}" = "basic" ]; then export PG_PROBACKUP_TEST_BASIC=ON - elif [ "$MODE" = "paranoia" ]; then + elif [ "${MODE}" = "paranoia" ]; then export PG_PROBACKUP_PARANOIA=ON fi - export PG_PROBACKUP_PTRACK=ON - if [ "$TEST_CASE" = "all" ]; then + if [ "${TEST_CASE}" = "all" ]; then # Run all pg_probackup ptrack tests - python3 -m unittest -v tests.ptrack || status=$? + PBK_TEST_CASE=tests.ptrack else - for i in `seq $TEST_REPEATS`; do - python3 -m unittest -v tests.ptrack.PtrackTest.$TEST_CASE || status=$? - done + PBK_TEST_CASE=tests.ptrack.PtrackTest.${TEST_CASE} fi + for i in `seq ${TEST_REPEATS}`; do + python3 -m unittest -v ${PBK_TEST_CASE} || status=$? + done # Exit virtualenv deactivate - - # Get back to testdir - cd .. - fi # Generate *.gcov files -gcov $PG_SRC/contrib/ptrack/*.c $PG_SRC/contrib/ptrack/*.h +gcov ${PG_SRC}/contrib/ptrack/*.c ${PG_SRC}/contrib/ptrack/*.h # Send coverage stats to Codecov bash <(curl -s https://codecov.io/bash) # Something went wrong, exit with code 1 -if [ $status -ne 0 ]; then exit 1; fi +if [ ${status} -ne 0 ]; then exit 1; fi From b1f8092de971736a7dac8b0c0ecf22cd1f73c83d Mon Sep 17 00:00:00 2001 From: "Mikhail A. Kulagin" Date: Sun, 24 Oct 2021 00:03:17 +0300 Subject: [PATCH 8/9] [travis] fix codecov working dir --- .travis.yml | 6 +++--- run_tests.sh | 8 ++++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 30ced1a..3f2ee68 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,9 +26,9 @@ env: # - PG_BRANCH=master TEST_CASE=all # - PG_BRANCH=master TEST_CASE=all MODE=paranoia - PG_BRANCH=REL_14_STABLE TEST_CASE=tap - - PG_BRANCH=REL_14_STABLE TEST_CASE=tap MODE=legacy - - PG_BRANCH=REL_14_STABLE TEST_CASE=all - - PG_BRANCH=REL_14_STABLE TEST_CASE=all MODE=paranoia +# - PG_BRANCH=REL_14_STABLE TEST_CASE=tap MODE=legacy +# - PG_BRANCH=REL_14_STABLE TEST_CASE=all +# - PG_BRANCH=REL_14_STABLE TEST_CASE=all MODE=paranoia # - PG_BRANCH=REL_13_STABLE TEST_CASE=tap # - PG_BRANCH=REL_13_STABLE TEST_CASE=tap MODE=legacy # - PG_BRANCH=REL_13_STABLE TEST_CASE=all diff --git a/run_tests.sh b/run_tests.sh index 8a6f5ea..c52d9ed 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -100,9 +100,9 @@ else if [ "${TEST_CASE}" = "all" ]; then # Run all pg_probackup ptrack tests - PBK_TEST_CASE=tests.ptrack + PBK_TEST_CASE=tests.ptrack else - PBK_TEST_CASE=tests.ptrack.PtrackTest.${TEST_CASE} + PBK_TEST_CASE=tests.ptrack.PtrackTest.${TEST_CASE} fi for i in `seq ${TEST_REPEATS}`; do python3 -m unittest -v ${PBK_TEST_CASE} || status=$? @@ -112,6 +112,10 @@ else deactivate fi +######################################################### +# codecov +echo "############### Codecov" +cd ${PTRACK_SRC} # Generate *.gcov files gcov ${PG_SRC}/contrib/ptrack/*.c ${PG_SRC}/contrib/ptrack/*.h From 2a4559699829ce9b1137ada9e10ed95a27e38d68 Mon Sep 17 00:00:00 2001 From: "Mikhail A. Kulagin" Date: Sun, 24 Oct 2021 00:12:54 +0300 Subject: [PATCH 9/9] [travis] enable all needed tests --- .travis.yml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3f2ee68..b6bd63a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,26 +21,26 @@ notifications: # keep in sync with codecov.yml number of builds env: -# - PG_BRANCH=master TEST_CASE=tap -# - PG_BRANCH=master TEST_CASE=tap MODE=legacy + - PG_BRANCH=master TEST_CASE=tap + - PG_BRANCH=master TEST_CASE=tap MODE=legacy # - PG_BRANCH=master TEST_CASE=all -# - PG_BRANCH=master TEST_CASE=all MODE=paranoia + - PG_BRANCH=master TEST_CASE=all MODE=paranoia - PG_BRANCH=REL_14_STABLE TEST_CASE=tap -# - PG_BRANCH=REL_14_STABLE TEST_CASE=tap MODE=legacy + - PG_BRANCH=REL_14_STABLE TEST_CASE=tap MODE=legacy # - PG_BRANCH=REL_14_STABLE TEST_CASE=all -# - PG_BRANCH=REL_14_STABLE TEST_CASE=all MODE=paranoia -# - PG_BRANCH=REL_13_STABLE TEST_CASE=tap -# - PG_BRANCH=REL_13_STABLE TEST_CASE=tap MODE=legacy + - PG_BRANCH=REL_14_STABLE TEST_CASE=all MODE=paranoia + - PG_BRANCH=REL_13_STABLE TEST_CASE=tap + - PG_BRANCH=REL_13_STABLE TEST_CASE=tap MODE=legacy # - PG_BRANCH=REL_13_STABLE TEST_CASE=all -# - PG_BRANCH=REL_13_STABLE TEST_CASE=all MODE=paranoia -# - PG_BRANCH=REL_12_STABLE TEST_CASE=tap -# - PG_BRANCH=REL_12_STABLE TEST_CASE=tap MODE=legacy + - PG_BRANCH=REL_13_STABLE TEST_CASE=all MODE=paranoia + - PG_BRANCH=REL_12_STABLE TEST_CASE=tap + - PG_BRANCH=REL_12_STABLE TEST_CASE=tap MODE=legacy # - PG_BRANCH=REL_12_STABLE TEST_CASE=all -# - PG_BRANCH=REL_12_STABLE TEST_CASE=all MODE=paranoia -# - PG_BRANCH=REL_11_STABLE TEST_CASE=tap -# - PG_BRANCH=REL_11_STABLE TEST_CASE=tap MODE=legacy + - PG_BRANCH=REL_12_STABLE TEST_CASE=all MODE=paranoia + - PG_BRANCH=REL_11_STABLE TEST_CASE=tap + - PG_BRANCH=REL_11_STABLE TEST_CASE=tap MODE=legacy # - PG_BRANCH=REL_11_STABLE TEST_CASE=all -# - PG_BRANCH=REL_11_STABLE TEST_CASE=all MODE=paranoia + - PG_BRANCH=REL_11_STABLE TEST_CASE=all MODE=paranoia jobs: allow_failures: pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy