From a7e9feca348ba7fdbbf92306ffc21367460c9eb5 Mon Sep 17 00:00:00 2001 From: Andy Arthur Date: Tue, 13 Apr 2021 14:57:40 -0700 Subject: [PATCH] split compatibility tests into forward and backward --- integration-tests/compatibility/runner.sh | 55 +++++++++++++++---- ...s.txt => backward_compatible_versions.txt} | 0 .../forward_compatible_versions.txt | 0 3 files changed, 43 insertions(+), 12 deletions(-) rename integration-tests/compatibility/test_files/{dolt_versions.txt => backward_compatible_versions.txt} (100%) create mode 100644 integration-tests/compatibility/test_files/forward_compatible_versions.txt diff --git a/integration-tests/compatibility/runner.sh b/integration-tests/compatibility/runner.sh index 991367cd8a..6cc28c2661 100755 --- a/integration-tests/compatibility/runner.sh +++ b/integration-tests/compatibility/runner.sh @@ -41,10 +41,6 @@ get_platform_tuple() { PLATFORM_TUPLE=`get_platform_tuple` -function list_dolt_versions() { - grep -v '^ *#' < test_files/dolt_versions.txt -} - function cleanup() { rm -rf repos binaries } @@ -56,21 +52,56 @@ function setup_repo() { ./test_files/setup_repo.sh "$dir" } -setup_repo HEAD -function test_dolt_version() { +# +# Backward Compatibility +# + +function list_backward_compatible_versions() { + grep -v '^ *#' < test_files/backward_compatible_versions.txt +} + +function test_backward_compatibility() { ver=$1 bin=`download_release "$ver"` - echo testing "$ver" at "$bin" - PATH="`pwd`"/"$bin":"$PATH" setup_repo "$ver" - echo "Run the bats tests using older Dolt version $ver hitting repositories from the current Dolt version" - PATH="`pwd`"/"$bin":"$PATH" REPO_DIR="`pwd`"/repos/HEAD bats ./test_files/bats + # create a Dolt repository using version "$ver" + PATH="`pwd`"/"$bin":"$PATH" setup_repo "$ver" echo "Run the bats tests with current Dolt version hitting repositories from older Dolt version $ver" REPO_DIR="`pwd`"/repos/"$ver" bats ./test_files/bats } -list_dolt_versions | while IFS= read -r ver; do - test_dolt_version "$ver" +list_backward_compatible_versions | while IFS= read -r ver; do + test_backward_compatibility "$ver" done + + +# +# Forward Compatibility +# + +setup_repo HEAD + +function list_forward_compatible_versions() { + grep -v '^ *#' < test_files/forward_compatible_versions.txt +} + +function test_forward_compatibility() { + ver=$1 + bin=`download_release "$ver"` + + echo "Run the bats tests using older Dolt version $ver hitting repositories from the current Dolt version" + PATH="`pwd`"/"$bin":"$PATH" dolt version + PATH="`pwd`"/"$bin":"$PATH" REPO_DIR="`pwd`"/repos/HEAD bats ./test_files/bats +} + +if [ -s "test_files/forward_compatible_versions.txt" ]; then + list_forward_compatible_versions | while IFS= read -r ver; do + test_forward_compatibility "$ver" + done +fi + +# sanity check +echo "Run the bats tests using current Dolt version hitting repositories from the current Dolt version" +REPO_DIR="`pwd`"/repos/HEAD bats ./test_files/bats diff --git a/integration-tests/compatibility/test_files/dolt_versions.txt b/integration-tests/compatibility/test_files/backward_compatible_versions.txt similarity index 100% rename from integration-tests/compatibility/test_files/dolt_versions.txt rename to integration-tests/compatibility/test_files/backward_compatible_versions.txt diff --git a/integration-tests/compatibility/test_files/forward_compatible_versions.txt b/integration-tests/compatibility/test_files/forward_compatible_versions.txt new file mode 100644 index 0000000000..e69de29bb2