From 4f9c6bef168045ef2a6eb8229e640e0472fdb0ef Mon Sep 17 00:00:00 2001 From: Dwight Guth Date: Mon, 26 Aug 2024 11:11:15 -0500 Subject: [PATCH] add test --- test/regression/block.ref | 95 +++++++++++++++++++++++++++++ test/regression/block.sol | 15 +++++ test/regression/block.txn | 1 + test/regression/boolean.ref | 116 ++++++++++++++++++++++++++++++++++++ test/regression/boolean.sol | 28 +++++++++ test/regression/boolean.txn | 1 + test/regression/if.ref | 94 +++++++++++++++++++++++++++++ test/regression/if.sol | 20 +++++++ test/regression/if.txn | 1 + 9 files changed, 371 insertions(+) create mode 100644 test/regression/block.ref create mode 100644 test/regression/block.sol create mode 100644 test/regression/block.txn create mode 100644 test/regression/boolean.ref create mode 100644 test/regression/boolean.sol create mode 100644 test/regression/boolean.txn create mode 100644 test/regression/if.ref create mode 100644 test/regression/if.sol create mode 100644 test/regression/if.txn diff --git a/test/regression/block.ref b/test/regression/block.ref new file mode 100644 index 0000000..9f18fcc --- /dev/null +++ b/test/regression/block.ref @@ -0,0 +1,95 @@ + + + .K + + + BlockTest + + + .IfaceCellMap + + + + + BlockTest + + + .Map + + + .List + + + + + constructor + + + public + + + .List + + + .List + + + .List + + + .List + + + bool x = false ; { bool x = true ; require ( x , "" , .TypedVals ) ; .Statements } if ( x ) { require ( false , "" , .TypedVals ) ; .Statements } .Statements + + + + + .ContractEventCellMap + + + + + + 1p160 + + + 0p256 + + + 1p160 + + + 2p160 + + + BlockTest + + + x |-> var ( 0 , bool ) + + + 0 |-> false + 1 |-> true + + + .List + + + + + 2p160 + + + BlockTest + + + .Map + + + + + 3p160 + + + diff --git a/test/regression/block.sol b/test/regression/block.sol new file mode 100644 index 0000000..c3a9706 --- /dev/null +++ b/test/regression/block.sol @@ -0,0 +1,15 @@ +pragma solidity ^0.8.24; + +contract BlockTest { + + constructor() { + bool x = false; + { + bool x = true; + require(x, ""); + } + if (x) { + require(false, ""); + } + } +} diff --git a/test/regression/block.txn b/test/regression/block.txn new file mode 100644 index 0000000..9571da7 --- /dev/null +++ b/test/regression/block.txn @@ -0,0 +1 @@ +create(1, 0, BlockTest, ) diff --git a/test/regression/boolean.ref b/test/regression/boolean.ref new file mode 100644 index 0000000..135972b --- /dev/null +++ b/test/regression/boolean.ref @@ -0,0 +1,116 @@ + + + .K + + + BoolTest + + + .IfaceCellMap + + + + + BoolTest + + + .Map + + + .List + + + + + constructor + + + public + + + .List + + + .List + + + .List + + + .List + + + bool x = true ; if ( x || fail ( .TypedVals ) ) { .Statements } else { require ( false , "" , .TypedVals ) ; .Statements } if ( x && true ) { .Statements } else { require ( false , "" , .TypedVals ) ; .Statements } x = false ; if ( x && fail ( .TypedVals ) ) { require ( false , "" , .TypedVals ) ; .Statements } if ( x || true ) { .Statements } else { require ( false , "" , .TypedVals ) ; .Statements } .Statements + + + + fail + + + private + + + .List + + + .List + + + .List + + + .List + + + require ( false , "" , .TypedVals ) ; .Statements + + + + + .ContractEventCellMap + + + + + + 1p160 + + + 0p256 + + + 1p160 + + + 2p160 + + + BoolTest + + + x |-> var ( 0 , bool ) + + + 0 |-> false + + + .List + + + + + 2p160 + + + BoolTest + + + .Map + + + + + 3p160 + + + diff --git a/test/regression/boolean.sol b/test/regression/boolean.sol new file mode 100644 index 0000000..bdf3984 --- /dev/null +++ b/test/regression/boolean.sol @@ -0,0 +1,28 @@ +pragma solidity ^0.8.24; + +contract BoolTest { + + function fail() private { + require(false, ""); + } + + constructor() { + bool x = true; + if (x || fail()) { + } else { + require(false, ""); + } + if (x && true) { + } else { + require(false, ""); + } + x = false; + if (x && fail()) { + require(false, ""); + } + if (x || true) { + } else { + require(false, ""); + } + } +} diff --git a/test/regression/boolean.txn b/test/regression/boolean.txn new file mode 100644 index 0000000..561f2f3 --- /dev/null +++ b/test/regression/boolean.txn @@ -0,0 +1 @@ +create(1, 0, BoolTest, ) diff --git a/test/regression/if.ref b/test/regression/if.ref new file mode 100644 index 0000000..ca54898 --- /dev/null +++ b/test/regression/if.ref @@ -0,0 +1,94 @@ + + + .K + + + IfTest + + + .IfaceCellMap + + + + + IfTest + + + .Map + + + .List + + + + + constructor + + + public + + + .List + + + .List + + + .List + + + .List + + + bool x = true ; if ( x ) { .Statements } else { require ( false , "" , .TypedVals ) ; .Statements } x = false ; if ( x ) { require ( false , "" , .TypedVals ) ; .Statements } else { .Statements } if ( x ) { require ( false , "" , .TypedVals ) ; .Statements } .Statements + + + + + .ContractEventCellMap + + + + + + 1p160 + + + 0p256 + + + 1p160 + + + 2p160 + + + IfTest + + + x |-> var ( 0 , bool ) + + + 0 |-> false + + + .List + + + + + 2p160 + + + IfTest + + + .Map + + + + + 3p160 + + + diff --git a/test/regression/if.sol b/test/regression/if.sol new file mode 100644 index 0000000..fdf7c43 --- /dev/null +++ b/test/regression/if.sol @@ -0,0 +1,20 @@ +pragma solidity ^0.8.24; + +contract IfTest { + + constructor() { + bool x = true; + if (x) { + } else { + require(false, ""); + } + x = false; + if (x) { + require(false, ""); + } else { + } + if (x) { + require(false, ""); + } + } +} diff --git a/test/regression/if.txn b/test/regression/if.txn new file mode 100644 index 0000000..904ffed --- /dev/null +++ b/test/regression/if.txn @@ -0,0 +1 @@ +create(1, 0, IfTest, )