From 206c06f0b3e67a4e295d74f747ce7a85ec528583 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20=C5=9Aliwak?= Date: Tue, 5 Sep 2023 17:29:38 +0200 Subject: [PATCH] [TMP] Repros for crashes in semantic tests --- .../semanticTests/experimental/crash/if_codegen.sol | 12 ++++++++++++ .../experimental/crash/integer_abs.sol | 9 +++++++++ .../experimental/crash/return_int_literal_crash.sol | 13 +++++++++++++ .../crash/return_string_literal_crash.sol | 13 +++++++++++++ .../semanticTests/experimental/crash/revert.sol | 9 +++++++++ 5 files changed, 56 insertions(+) create mode 100644 test/libsolidity/semanticTests/experimental/crash/if_codegen.sol create mode 100644 test/libsolidity/semanticTests/experimental/crash/integer_abs.sol create mode 100644 test/libsolidity/semanticTests/experimental/crash/return_int_literal_crash.sol create mode 100644 test/libsolidity/semanticTests/experimental/crash/return_string_literal_crash.sol create mode 100644 test/libsolidity/semanticTests/experimental/crash/revert.sol diff --git a/test/libsolidity/semanticTests/experimental/crash/if_codegen.sol b/test/libsolidity/semanticTests/experimental/crash/if_codegen.sol new file mode 100644 index 000000000..80a0730ed --- /dev/null +++ b/test/libsolidity/semanticTests/experimental/crash/if_codegen.sol @@ -0,0 +1,12 @@ +pragma experimental solidity; + +contract C { + fallback() external { + let x: bool; + + if (x) {} + else {} + } +} +// ---- +// (): -> diff --git a/test/libsolidity/semanticTests/experimental/crash/integer_abs.sol b/test/libsolidity/semanticTests/experimental/crash/integer_abs.sol new file mode 100644 index 000000000..14d315db5 --- /dev/null +++ b/test/libsolidity/semanticTests/experimental/crash/integer_abs.sol @@ -0,0 +1,9 @@ +pragma experimental solidity; + +contract C { + fallback() external { + integer.abs(); + } +} +// ---- +// () -> diff --git a/test/libsolidity/semanticTests/experimental/crash/return_int_literal_crash.sol b/test/libsolidity/semanticTests/experimental/crash/return_int_literal_crash.sol new file mode 100644 index 000000000..05e50e303 --- /dev/null +++ b/test/libsolidity/semanticTests/experimental/crash/return_int_literal_crash.sol @@ -0,0 +1,13 @@ +pragma experimental solidity; + +type X = word; + +class T: TC {} + +instantiation X: TC { + function f() -> bool { + return 1; + } +} +// ---- +// () -> diff --git a/test/libsolidity/semanticTests/experimental/crash/return_string_literal_crash.sol b/test/libsolidity/semanticTests/experimental/crash/return_string_literal_crash.sol new file mode 100644 index 000000000..957e66f11 --- /dev/null +++ b/test/libsolidity/semanticTests/experimental/crash/return_string_literal_crash.sol @@ -0,0 +1,13 @@ +pragma experimental solidity; + +type X = word; + +class T: TC {} + +instantiation X: TC { + function f() -> bool { + return ""; + } +} +// ---- +// () -> diff --git a/test/libsolidity/semanticTests/experimental/crash/revert.sol b/test/libsolidity/semanticTests/experimental/crash/revert.sol new file mode 100644 index 000000000..638d60e88 --- /dev/null +++ b/test/libsolidity/semanticTests/experimental/crash/revert.sol @@ -0,0 +1,9 @@ +pragma experimental solidity; + +contract C { + fallback() external { + revert; + } +} +// ---- +// () ->