aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorYann Herklotz <git@ymhg.org>2019-05-15 00:55:16 +0100
committerYann Herklotz <git@ymhg.org>2019-05-15 00:55:16 +0100
commitc3b5f3f5feeb2c7e9b807d96666603d52851b2e8 (patch)
tree3b6fb0deb54cc68c5bebb8de597609ab33da8fba /test
parent6bd1ff2dd72ee9407ab4a9b3a485a23401aeb1d4 (diff)
downloadverismith-c3b5f3f5feeb2c7e9b807d96666603d52851b2e8.tar.gz
verismith-c3b5f3f5feeb2c7e9b807d96666603d52851b2e8.zip
Add test for removing unused wires
Diffstat (limited to 'test')
-rw-r--r--test/Reduce.hs54
1 files changed, 54 insertions, 0 deletions
diff --git a/test/Reduce.hs b/test/Reduce.hs
index dd47f8b..9c59e48 100644
--- a/test/Reduce.hs
+++ b/test/Reduce.hs
@@ -32,9 +32,63 @@ reduceUnitTests = testGroup
, activeWireTest
, cleanTest
, cleanAllTest
+ , removeDeclTest
]
-- brittany-disable-next-binding
+removeDeclTest :: TestTree
+removeDeclTest = testCase "Remove declarations" $ do
+ GenVerilog (removeDecl srcInfo1) @?= golden1
+ where
+ srcInfo1 = SourceInfo "top" [verilog|
+module top;
+ wire a;
+ wire b;
+ wire c;
+ reg d;
+ reg e;
+ reg f;
+ reg g;
+ reg h;
+ wire i;
+ wire j;
+ initial d <= a;
+
+ always @* begin
+ f <= e;
+ g <= e;
+ if (1) begin
+ h <= h;
+ end
+ end
+
+ assign b = g;
+endmodule
+|]
+ golden1 = GenVerilog $ SourceInfo "top" [verilog|
+module top;
+ wire a;
+ wire b;
+ reg d;
+ reg e;
+ reg f;
+ reg g;
+ reg h;
+ initial d <= a;
+
+ always @* begin
+ f <= e;
+ g <= e;
+ if (1) begin
+ h <= h;
+ end
+ end
+
+ assign b = g;
+endmodule
+|]
+
+-- brittany-disable-next-binding
cleanAllTest :: TestTree
cleanAllTest = testCase "Clean all" $ do
GenVerilog (cleanSourceInfoAll srcInfo1) @?= golden1