summaryrefslogtreecommitdiff
path: root/testsuite/tests/driver/T8144/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/driver/T8144/Makefile')
-rw-r--r--testsuite/tests/driver/T8144/Makefile20
1 files changed, 20 insertions, 0 deletions
diff --git a/testsuite/tests/driver/T8144/Makefile b/testsuite/tests/driver/T8144/Makefile
new file mode 100644
index 0000000000..f5df0dc22e
--- /dev/null
+++ b/testsuite/tests/driver/T8144/Makefile
@@ -0,0 +1,20 @@
+TOP=../../..
+include $(TOP)/mk/boilerplate.mk
+include $(TOP)/mk/test.mk
+
+# Test that iface hashes are reproducible, and in particular don't include
+# timestamps of dependent files. This test case was originally written by Niklas
+# Hambüchen; see
+# https://github.com/nh2/ghc-bug-time-dependent-interface-hashes/
+#
+clean ::
+ rm -f *.o *.hi *.show-iface
+
+dotest ::
+ '$(TEST_HC)' $(TEST_HC_OPTS) -c Test.hs -optP-include -optPcabal_macros.h
+ '$(TEST_HC)' $(TEST_HC_OPTS) --show-iface Test.hi > before.show-iface
+ sleep 1 # because some systems have a 1-second resolution for file timestamps
+ touch cabal_macros.h
+ '$(TEST_HC)' $(TEST_HC_OPTS) -c Test.hs -optP-include -optPcabal_macros.h
+ '$(TEST_HC)' $(TEST_HC_OPTS) --show-iface Test.hi > after.show-iface
+ diff before.show-iface after.show-iface