Repository : ssh://darcs.haskell.org//srv/darcs/testsuite On branch : master
http://hackage.haskell.org/trac/ghc/changeset/890fea060ec8507f31f3ff212aaf8b56a80b1671 >--------------------------------------------------------------- commit 890fea060ec8507f31f3ff212aaf8b56a80b1671 Author: Ian Lynagh <i...@well-typed.com> Date: Fri Dec 14 23:29:47 2012 +0000 Only run dynamicToo001 if we have both vanilla and dynamic libraries >--------------------------------------------------------------- config/ghc | 3 +++ driver/testglobals.py | 3 +++ driver/testlib.py | 36 ++++++++++++++++++++++++++++++++++++ mk/test.mk | 9 ++++++++- tests/driver/dynamicToo/all.T | 12 +++++++----- 5 files changed, 57 insertions(+), 6 deletions(-) diff --git a/config/ghc b/config/ghc index 6803248..73ff7d3 100644 --- a/config/ghc +++ b/config/ghc @@ -40,6 +40,9 @@ config.compiler_debugged = ghc_debugged if (ghc_with_vanilla == 1): config.have_vanilla = True +if (ghc_with_dynamic == 1): + config.have_dynamic = True + if (ghc_with_profiling == 1): config.have_profiling = True config.compile_ways.append('profasm') diff --git a/driver/testglobals.py b/driver/testglobals.py index f1dd4fb..10a1105 100644 --- a/driver/testglobals.py +++ b/driver/testglobals.py @@ -81,6 +81,9 @@ class TestConfig: # Do we have vanilla libraries? self.have_vanilla = False + # Do we have dynamic libraries? + self.have_dynamic = False + # Do we have profiling support? self.have_profiling = False diff --git a/driver/testlib.py b/driver/testlib.py index 524acda..4bdcd2d 100644 --- a/driver/testlib.py +++ b/driver/testlib.py @@ -354,6 +354,42 @@ def if_cygwin( f ): else: return normal +def when_have_vanilla( f ): + if config.have_vanilla: + return f + else: + return normal + +def unless_have_vanilla( f ): + if config.have_vanilla: + return normal + else: + return f + +def when_have_dynamic( f ): + if config.have_dynamic: + return f + else: + return normal + +def unless_have_dynamic( f ): + if config.have_dynamic: + return normal + else: + return f + +def when_have_profiling( f ): + if config.have_profiling: + return f + else: + return normal + +def unless_have_profiling( f ): + if config.have_profiling: + return normal + else: + return f + # --- def if_ghci_dynamic( f ): diff --git a/mk/test.mk b/mk/test.mk index 942271c..6c974cc 100644 --- a/mk/test.mk +++ b/mk/test.mk @@ -49,7 +49,8 @@ endif BASE_LIBDIR := $(shell "$(GHC_PKG)" field base library-dirs | sed 's/^[^:]*: *//') HAVE_VANILLA := $(shell if [ -f $(subst \,/,$(BASE_LIBDIR))/Prelude.hi ]; then echo YES; else echo NO; fi) -HAVE_PROFILING := $(shell if [ -f $(subst \,/,$(BASE_LIBDIR))/Prelude.p_a ]; then echo YES; else echo NO; fi) +HAVE_DYNAMIC := $(shell if [ -f $(subst \,/,$(BASE_LIBDIR))/Prelude.dyn_hi ]; then echo YES; else echo NO; fi) +HAVE_PROFILING := $(shell if [ -f $(subst \,/,$(BASE_LIBDIR))/Prelude.p_hi ]; then echo YES; else echo NO; fi) ifeq "$(HAVE_VANILLA)" "YES" RUNTEST_OPTS += -e ghc_with_vanilla=1 @@ -57,6 +58,12 @@ else RUNTEST_OPTS += -e ghc_with_vanilla=0 endif +ifeq "$(HAVE_DYNAMIC)" "YES" +RUNTEST_OPTS += -e ghc_with_dynamic=1 +else +RUNTEST_OPTS += -e ghc_with_dynamic=0 +endif + ifeq "$(HAVE_PROFILING)" "YES" RUNTEST_OPTS += -e ghc_with_profiling=1 else diff --git a/tests/driver/dynamicToo/all.T b/tests/driver/dynamicToo/all.T index c10aa2e..a03c314 100644 --- a/tests/driver/dynamicToo/all.T +++ b/tests/driver/dynamicToo/all.T @@ -1,11 +1,13 @@ setTestOpts(only_compiler_types(['ghc'])) test('dynamicToo001', - extra_clean(['A001.o', 'B001.o', 'C001.o', - 'A001.hi', 'B001.hi', 'C001.hi', - 'A001.dyn_o', 'B001.dyn_o', 'C001.dyn_o', - 'A001.dyn_hi', 'B001.dyn_hi', 'C001.dyn_hi', - 's001', 'd001']), + [extra_clean(['A001.o', 'B001.o', 'C001.o', + 'A001.hi', 'B001.hi', 'C001.hi', + 'A001.dyn_o', 'B001.dyn_o', 'C001.dyn_o', + 'A001.dyn_hi', 'B001.dyn_hi', 'C001.dyn_hi', + 's001', 'd001']), + unless_have_vanilla(skip), + unless_have_dynamic(skip)], run_command, ['$MAKE -s --no-print-directory dynamicToo001']) _______________________________________________ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc