[pure-lang-svn] SF.net SVN: pure-lang:[648] pure/trunk
Status: Beta
Brought to you by:
agraef
|
From: <ag...@us...> - 2008-08-28 08:39:17
|
Revision: 648
http://pure-lang.svn.sourceforge.net/pure-lang/?rev=648&view=rev
Author: agraef
Date: 2008-08-28 08:39:27 +0000 (Thu, 28 Aug 2008)
Log Message:
-----------
Work around failed math tests due to locale-related problems on some systems.
Modified Paths:
--------------
pure/trunk/ChangeLog
pure/trunk/Makefile.in
Modified: pure/trunk/ChangeLog
===================================================================
--- pure/trunk/ChangeLog 2008-08-28 08:14:15 UTC (rev 647)
+++ pure/trunk/ChangeLog 2008-08-28 08:39:27 UTC (rev 648)
@@ -1,5 +1,9 @@
2008-08-28 Albert Graef <Dr....@t-...>
+ * Makefile.in: Set LC_ALL=C, to work around failed math tests due
+ to locale-related problems on some systems. Note: This requires a
+ reconfigure.
+
* lib/system.pure: Add setlocale function.
* runtime.cc (pure_sys_vars): Add NULL and LC_* constants.
Modified: pure/trunk/Makefile.in
===================================================================
--- pure/trunk/Makefile.in 2008-08-28 08:14:15 UTC (rev 647)
+++ pure/trunk/Makefile.in 2008-08-28 08:39:27 UTC (rev 648)
@@ -259,16 +259,21 @@
cleanlogs:
rm -f $(srcdir)/test/*.log
+# Note: Unfortunately, a few tests may produce varying results with different
+# locales, so we have to make sure that we set up a neutral environment
+# here. We therefore set LC_ALL=C below, which should do the job on Linux and
+# other glibc-based systems. Other systems might require some work.
+
$(srcdir)/test/prelude.log: lib/prelude.pure lib/primitives.pure lib/strings.pure
- @LD_LIB_PATH@=. PURELIB=$(srcdir)/lib ./pure -n -v$(level) $< > $@ 2>&1
+ LC_ALL=C @LD_LIB_PATH@=. PURELIB=$(srcdir)/lib ./pure -n -v$(level) $< > $@ 2>&1
%.log: %.pure
- @LD_LIB_PATH@=. PURELIB=$(srcdir)/lib ./pure -v$(level) < $< > $@ 2>&1
+ LC_ALL=C @LD_LIB_PATH@=. PURELIB=$(srcdir)/lib ./pure -v$(level) < $< > $@ 2>&1
check: pure
@ echo Running tests.
- @ (export @LD_LIB_PATH@=.; export PURELIB=$(srcdir)/lib; echo $(ECHO_N) "prelude.pure: $(ECHO_C)"; if ./pure -n -v$(level) $(srcdir)/lib/prelude.pure 2>&1 | diff -q - $(srcdir)/test/prelude.log > /dev/null; then echo "$(ECHO_T)passed"; else echo "$(ECHO_T)FAILED"; fi)
- @ (export @LD_LIB_PATH@=.; export PURELIB=$(srcdir)/lib; for x in $(notdir $(tests)); do echo $(ECHO_N) "$$x: $(ECHO_C)"; if ./pure -v$(level) < $(srcdir)/test/$$x 2>&1 | diff -q - $(srcdir)/test/"`basename $$x .pure`.log" > /dev/null; then echo "$(ECHO_T)passed"; else echo "$(ECHO_T)FAILED"; fi; done)
+ @ (export LC_ALL=C; export @LD_LIB_PATH@=.; export PURELIB=$(srcdir)/lib; echo $(ECHO_N) "prelude.pure: $(ECHO_C)"; if ./pure -n -v$(level) $(srcdir)/lib/prelude.pure 2>&1 | diff -q - $(srcdir)/test/prelude.log > /dev/null; then echo "$(ECHO_T)passed"; else echo "$(ECHO_T)FAILED"; fi)
+ @ (export LC_ALL=C; export @LD_LIB_PATH@=.; export PURELIB=$(srcdir)/lib; for x in $(notdir $(tests)); do echo $(ECHO_N) "$$x: $(ECHO_C)"; if ./pure -v$(level) < $(srcdir)/test/$$x 2>&1 | diff -q - $(srcdir)/test/"`basename $$x .pure`.log" > /dev/null; then echo "$(ECHO_T)passed"; else echo "$(ECHO_T)FAILED"; fi; done)
# DO NOT DELETE
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|