From f894e0cf3802c56bbfc463b48f05a092fd6e7023 Mon Sep 17 00:00:00 2001 From: Ralf Jung <jung@mpi-sws.org> Date: Wed, 11 Sep 2024 17:58:09 +0200 Subject: [PATCH] switch reftesting to Coq 8.20 --- Makefile.coq.local | 13 +++++++------ tests/bitvector_tactics.ref | 18 ++++++++++-------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/Makefile.coq.local b/Makefile.coq.local index 4ed94270..59bd0926 100644 --- a/Makefile.coq.local +++ b/Makefile.coq.local @@ -24,10 +24,10 @@ test: $(TESTFILES:.v=.vo) .PHONY: test COQ_TEST=$(COQTOP) $(COQDEBUG) -batch -test-mode -# These versions of Coq are known to have different output so we don't test them. +# Only test reference output on known versions of Coq, to avoid blocking +# Coq CI when they change the printing a little. # Need to make this a lazy variable (`=` instead of `:=`) since COQ_VERSION is only set later. -# Make sure to recognize both 8.$NUM.0 and 8.$NUM+alpha. -COQ_NOREF=$(shell echo "$(COQ_VERSION)" | grep -E "^8\.(16|17|18|20|21)[.+]" -q && echo 1) +COQ_REF=$(shell echo "$(COQ_VERSION)" | grep -E "^8\.(20)\." -q && echo 1) tests/.coqdeps.d: $(TESTFILES) $(SHOW)'COQDEP TESTFILES' @@ -44,14 +44,15 @@ tests/.coqdeps.d: $(TESTFILES) # - Cleanup, and mark as done for make. $(TESTFILES:.v=.vo): %.vo: %.v $(if $(MAKE_REF),,%.ref) $(NORMALIZER) $(HIDE)REF=$*".ref" && \ - echo "COQTEST$(if $(COQ_NOREF), [ref diff ignored],$(if $(MAKE_REF), [make ref],)) $< (ref: $$REF)" && \ + echo "COQTEST$(if $(COQ_REF),$(if $(MAKE_REF), [make ref],), [ref diff ignored]) $< (ref: $$REF)" && \ TMPFILE="$$(mktemp)" && \ unset OCAMLRUNPARAM && \ $(TIMER) $(COQ_TEST) $(COQFLAGS) $(COQLIBS) -load-vernac-source $< > "$$TMPFILE" && \ sed -E -f $(NORMALIZER) "$$TMPFILE" > "$$TMPFILE".new && \ mv "$$TMPFILE".new "$$TMPFILE" && \ - $(if $(COQ_NOREF), (diff --strip-trailing-cr -u "$$REF" "$$TMPFILE" || true) , \ - $(if $(MAKE_REF),mv "$$TMPFILE" "$$REF",diff --strip-trailing-cr -u "$$REF" "$$TMPFILE") \ + $(if $(COQ_REF),\ + $(if $(MAKE_REF),mv "$$TMPFILE" "$$REF",diff --strip-trailing-cr -u "$$REF" "$$TMPFILE"), \ + (diff --strip-trailing-cr -u "$$REF" "$$TMPFILE" || true) \ ) && \ rm -f "$$TMPFILE" && \ touch $@ diff --git a/tests/bitvector_tactics.ref b/tests/bitvector_tactics.ref index a085ff90..dda47271 100644 --- a/tests/bitvector_tactics.ref +++ b/tests/bitvector_tactics.ref @@ -21,11 +21,12 @@ data : list (bv 64) H : bv_unsigned l < bv_unsigned r H0 : bv_unsigned r ≤ Z.of_nat (length data) - H1 : ¬ bv_swrap 128 (bv_unsigned l) >= - bv_swrap 128 - (bv_wrap 64 - (bv_wrap 64 (bv_unsigned r - bv_unsigned l) `div` 2 ^ 1 + - bv_unsigned l + 0)) + H1 : + ¬ bv_swrap 128 (bv_unsigned l) >= + bv_swrap 128 + (bv_wrap 64 + (bv_wrap 64 (bv_unsigned r - bv_unsigned l) `div` 2 ^ 1 + + bv_unsigned l + 0)) ============================ bv_unsigned l < bv_wrap 64 @@ -46,9 +47,10 @@ goal 2 is: i, n : bv 64 H : bv_unsigned i < bv_unsigned n - H0 : bv_wrap 64 - (bv_unsigned n + bv_wrap 64 (- bv_wrap 64 (bv_unsigned i + 1) - 1) + - 1) ≠0%Z + H0 : + bv_wrap 64 + (bv_unsigned n + bv_wrap 64 (- bv_wrap 64 (bv_unsigned i + 1) - 1) + 1) + ≠0%Z ============================ bv_wrap 64 (bv_unsigned i + 1) < bv_unsigned n 1 goal -- GitLab