[PATCH v19 19/20] Add reftable testing infrastructure
From: Han-Wen Nienhuys <hanwen@google.com>
* Add GIT_TEST_REFTABLE environment var to control default ref storage
* Add test_prerequisite REFTABLE.
* Skip some tests that are incompatible:
* t3210-pack-refs.sh - does not apply
* t1450-fsck.sh - manipulates .git/ directly to create invalid state
Major test failures:
* t1400-update-ref.sh - Reads from .git/{refs,logs} directly
* t1404-update-ref-errors.sh - Manipulates .git/refs/ directly
* t1405 - inspecs .git/ directly.Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
---
t/t1409-avoid-packing-refs.sh | 6 ++++++
t/t1450-fsck.sh | 6 ++++++
t/t3210-pack-refs.sh | 6 ++++++
t/test-lib.sh | 5 +++++
4 files changed, 23 insertions(+)
diff --git a/t/t1409-avoid-packing-refs.sh b/t/t1409-avoid-packing-refs.sh
index be12fb6350..c6f7832556 100755
--- a/t/t1409-avoid-packing-refs.sh
+++ b/t/t1409-avoid-packing-refs.sh
@@ -4,6 +4,12 @@ test_description='avoid rewriting packed-refs unnecessarily'
. ./test-lib.sh
+if test_have_prereq REFTABLE
+then
+ skip_all='skipping pack-refs tests; incompatible with reftable'
+ test_done
+fi
+
# Add an identifying mark to the packed-refs file header line. This
# shouldn't upset readers, and it should be omitted if the file is
# ever rewritten.
diff --git a/t/t1450-fsck.sh b/t/t1450-fsck.sh
index 344a2aad82..0966920324 100755
--- a/t/t1450-fsck.sh
+++ b/t/t1450-fsck.sh
@@ -8,6 +8,12 @@ test_description='git fsck random collection of tests
. ./test-lib.sh
+if test_have_prereq REFTABLE
+then
+ skip_all='skipping tests; incompatible with reftable'
+ test_done
+fi
+
test_expect_success setup '
test_oid_init &&
git config gc.auto 0 &&
diff --git a/t/t3210-pack-refs.sh b/t/t3210-pack-refs.sh
index f41b2afb99..edaef2c175 100755
--- a/t/t3210-pack-refs.sh
+++ b/t/t3210-pack-refs.sh
@@ -11,6 +11,12 @@ semantic is still the same.
'
. ./test-lib.sh
+if test_have_prereq REFTABLE
+then
+ skip_all='skipping pack-refs tests; incompatible with reftable'
+ test_done
+fi
+
test_expect_success 'enable reflogs' '
git config core.logallrefupdates true
'
diff --git a/t/test-lib.sh b/t/test-lib.sh
index 618a7c8d5b..9b22c7def3 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -1505,6 +1505,11 @@ parisc* | hppa*)
;;
esac
+if test -n "$GIT_TEST_REFTABLE"
+then
+ test_set_prereq REFTABLE
+fi
+
( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1
test -z "$NO_PERL" && test_set_prereq PERL
test -z "$NO_PTHREADS" && test_set_prereq PTHREADS
--
gitgitgadget