test #12567: add new testcase with expected plugin behaviour
authorGabor Greif <ggreif@gmail.com>
Sun, 4 Sep 2016 10:13:54 +0000 (12:13 +0200)
committerGabor Greif <ggreif@gmail.com>
Sun, 4 Sep 2016 11:02:04 +0000 (13:02 +0200)
testsuite/driver/extra_files.py
testsuite/tests/plugins/Makefile
testsuite/tests/plugins/T12567a.hs [new file with mode: 0644]
testsuite/tests/plugins/T12567a.stderr [new file with mode: 0644]
testsuite/tests/plugins/T12567b.hs [new file with mode: 0644]
testsuite/tests/plugins/all.T

index f1dbcb5..5af9695 100644 (file)
@@ -426,6 +426,7 @@ extra_src_files = {
   'plugins05': ['HomePackagePlugin.hs'],
   'plugins06': ['LinkerTicklingPlugin.hs'],
   'plugins07': ['rule-defining-plugin/'],
+  'T12567a': ['T12567b.hs', 'simple-plugin/'],
   'print002': ['../Test.hs'],
   'print003': ['../Test.hs'],
   'print005': ['../QSort.hs'],
index 28d3ae8..d0cdca6 100644 (file)
@@ -41,3 +41,9 @@ frontend01:
 .PHONY: T11244
 T11244:
        ! "$(TEST_HC)" $(TEST_HC_OPTS) $(ghcPluginWayFlags) --make -v0 -O T11244.hs -package-db rule-defining-plugin/pkg.T11244/local.package.conf -hide-all-plugin-packages -package rule-defining-plugin -fplugin=RuleDefiningPlugin
+
+.PHONY: T12567a
+T12567a:
+       "$(TEST_HC)" $(TEST_HC_OPTS) $(ghcPluginWayFlags) --make T12567a.hs -package-db simple-plugin/pkg.T12567a/local.package.conf -hide-all-plugin-packages -plugin-package simple-plugin 1>&2
+       "$(TEST_HC)" $(TEST_HC_OPTS) $(ghcPluginWayFlags) --make -v T12567a.hs -package-db simple-plugin/pkg.T12567a/local.package.conf -hide-all-plugin-packages -plugin-package simple-plugin 2>&1 | grep "T12567a.hs, T12567a.o" 1>&2
+       "$(TEST_HC)" $(TEST_HC_OPTS) $(ghcPluginWayFlags) --make T12567b.hs -package-db simple-plugin/pkg.T12567a/local.package.conf -hide-all-plugin-packages -plugin-package simple-plugin 1>&2
diff --git a/testsuite/tests/plugins/T12567a.hs b/testsuite/tests/plugins/T12567a.hs
new file mode 100644 (file)
index 0000000..5138ed0
--- /dev/null
@@ -0,0 +1,3 @@
+{-# OPTIONS -fplugin Simple.Plugin  #-}
+
+module T12567a where
diff --git a/testsuite/tests/plugins/T12567a.stderr b/testsuite/tests/plugins/T12567a.stderr
new file mode 100644 (file)
index 0000000..e8e04c5
--- /dev/null
@@ -0,0 +1,6 @@
+[1 of 1] Compiling T12567a          ( T12567a.hs, T12567a.o )
+Simple Plugin Passes Queried
+Got options: 
+Simple Plugin Pass Run
+[1 of 1] Skipping  T12567a          ( T12567a.hs, T12567a.o )
+[2 of 2] Compiling T12567b          ( T12567b.hs, T12567b.o )
diff --git a/testsuite/tests/plugins/T12567b.hs b/testsuite/tests/plugins/T12567b.hs
new file mode 100644 (file)
index 0000000..6feb57f
--- /dev/null
@@ -0,0 +1,4 @@
+module T12567b where
+
+import T12567a
+
index f165c4a..cca03bc 100644 (file)
@@ -70,3 +70,9 @@ test('T11244',
       clean_cmd('$MAKE -s --no-print-directory -C rule-defining-plugin clean.T11244')],
      run_command,
      ['$MAKE -s --no-print-directory T11244'])
+
+test('T12567a',
+     [pre_cmd('$MAKE -s --no-print-directory -C simple-plugin package.T12567a TOP={top}'),
+      clean_cmd('$MAKE -s --no-print-directory -C simple-plugin clean.T12567a')],
+     run_command,
+     ['$MAKE -s --no-print-directory T12567a'])