From 95ae2473a00ccd1554a0cf9bb0cc3e3979ac26c6 Mon Sep 17 00:00:00 2001 From: Ralf Jung <jung@mpi-sws.org> Date: Wed, 12 Jun 2019 15:24:09 +0200 Subject: [PATCH] try to fix test suite for macOS --- Makefile.coq.local | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Makefile.coq.local b/Makefile.coq.local index 6931cd3fa..2693cbb8c 100644 --- a/Makefile.coq.local +++ b/Makefile.coq.local @@ -25,11 +25,16 @@ $(TESTFILES:.v=.vo): %.vo: %.v $(if $(MAKE_REF),,%.ref) $(NORMALIZER) REF="tests/$$TEST.ref"; \ fi && \ echo "COQTEST$(if $(COQ_OLD), [no ref],$(if $(MAKE_REF), [make ref],)) $<$(if $(COQ_OLD),, (ref: $$REF))" && \ + # Dump Coq output into temporary file. \ TMPFILE="$$(mktemp)" && \ $(TIMER) $(COQ_TEST) $(COQFLAGS) $(COQLIBS) -load-vernac-source $< > "$$TMPFILE" && \ - sed -f $(NORMALIZER) -i "$$TMPFILE" && \ + # `sed -i` in a way that also works on macOS. \ + sed -f $(NORMALIZER) "$$TMPFILE" > "$$TMPFILE".new && \ + mv "$$TMPFILE".new "$$TMPFILE" && \ + # Either compare temporary file with reffile or move it there. \ $(if $(COQ_OLD),true, \ $(if $(MAKE_REF),mv "$$TMPFILE" "$$REF",diff -u "$$REF" "$$TMPFILE") \ ) && \ + # Cleanup, and mark as done for make. \ rm -f "$$TMPFILE" && \ touch $@ -- GitLab