diff --git a/tests/driver/dynamicToo/A002.hs b/tests/driver/dynamicToo/A002.hs new file mode 100644 index 000000000..46db39b40 --- /dev/null +++ b/tests/driver/dynamicToo/A002.hs @@ -0,0 +1,6 @@ + +module A002 where + +a :: Char +a = 'a' + diff --git a/tests/driver/dynamicToo/B002.hs b/tests/driver/dynamicToo/B002.hs new file mode 100644 index 000000000..d62c8c200 --- /dev/null +++ b/tests/driver/dynamicToo/B002.hs @@ -0,0 +1,6 @@ + +module B002 where + +b :: Char +b = 'b' + diff --git a/tests/driver/dynamicToo/C002.hs b/tests/driver/dynamicToo/C002.hs new file mode 100644 index 000000000..9fb740444 --- /dev/null +++ b/tests/driver/dynamicToo/C002.hs @@ -0,0 +1,9 @@ + +module C002 where + +import A001 +import B001 + +ab :: String +ab = [a, b] + diff --git a/tests/driver/dynamicToo/Makefile b/tests/driver/dynamicToo/Makefile index 5083fe4f7..69803de67 100644 --- a/tests/driver/dynamicToo/Makefile +++ b/tests/driver/dynamicToo/Makefile @@ -21,3 +21,23 @@ dynamicToo001: ./s001 ./d001 + +dynamic002Check = [ -f $1 ] || echo $1 missing + +.PHONY: dynamicToo002 +# Check that "--make -dynamic-too" works +dynamicToo002: + "$(TEST_HC)" $(TEST_HC_OPTS) -dynamic-too -v0 --make C002 + $(call dynamic002Check,A001.o) + $(call dynamic002Check,B001.o) + $(call dynamic002Check,C001.o) + $(call dynamic002Check,A001.hi) + $(call dynamic002Check,B001.hi) + $(call dynamic002Check,C001.hi) + $(call dynamic002Check,A001.dyn_o) + $(call dynamic002Check,B001.dyn_o) + $(call dynamic002Check,C001.dyn_o) + $(call dynamic002Check,A001.dyn_hi) + $(call dynamic002Check,B001.dyn_hi) + $(call dynamic002Check,C001.dyn_hi) + diff --git a/tests/driver/dynamicToo/all.T b/tests/driver/dynamicToo/all.T index 6465d1e1f..f036337bc 100644 --- a/tests/driver/dynamicToo/all.T +++ b/tests/driver/dynamicToo/all.T @@ -12,3 +12,13 @@ test('dynamicToo001', run_command, ['$MAKE -s --no-print-directory dynamicToo001']) +test('dynamicToo002', + [extra_clean(['A002.o', 'B002.o', 'C002.o', + 'A002.hi', 'B002.hi', 'C002.hi', + 'A002.dyn_o', 'B002.dyn_o', 'C002.dyn_o', + 'A002.dyn_hi', 'B002.dyn_hi', 'C002.dyn_hi']), + unless(have_vanilla(), skip), + unless(have_dynamic(), skip)], + run_command, + ['$MAKE -s --no-print-directory dynamicToo002']) +