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