Commit Graph

7351 Commits

Author SHA1 Message Date
Kamil Śliwak
0819e31de8 Reject duplicate built-in type definitions 2023-09-28 17:43:16 +02:00
Kamil Śliwak
017771032b Replace hard-coded types with __builtin() 2023-09-28 17:43:16 +02:00
Kamil Śliwak
1072f1bd55 Syntax test for built-in types in experimental Solidity. 2023-09-28 17:43:16 +02:00
Kamil Śliwak
353d50b0be Distinct identifiers and tokens for integer type and integer class
- Using the same name causes syntax ambiguities. It's also not allowed for user-defined classes and types.
2023-09-28 15:49:00 +02:00
Kamil Śliwak
da83b35a71 Separate experimental analysis pass for type class registration 2023-09-14 17:32:51 +02:00
Kamil Śliwak
9f7764c215 Semantic test for type classes 2023-09-14 17:32:51 +02:00
Kamil Śliwak
761f5b342f fixup! Type inference draft. 2023-09-14 07:56:36 +02:00
Nikola Matic
319a6c4999 Move around experimental tests
Exclude list for AST JSON tests

Fix type inference shellcheck failure

Disable shellcheck SC2086
2023-09-14 07:56:33 +02:00
Daniel Kirchner
d8a36a1d58 Type inference draft. 2023-09-13 22:54:02 +02:00
Daniel
9bce5f91dc
Merge pull request #14538 from ethereum/experimentalAnalysisBasicInfrastructure
New Analysis basic infrastructure
2023-09-13 13:00:56 +02:00
Kamil Śliwak
b63a94031f Generate expectations for moved Natspec syntax tests 2023-09-11 18:06:42 +02:00
Kamil Śliwak
dc68480f72 Move Natspec syntax tests to natspecJSON 2023-09-11 18:06:42 +02:00
Kamil Śliwak
d083925bed natspecJSON: Generate missing expectations (including errors) 2023-09-11 18:06:42 +02:00
Kamil Śliwak
481c7256cb natspecJSON: Include version and kind fields in expectations where missing 2023-09-11 18:06:42 +02:00
Kamil Śliwak
99bfdf930a SolidityNatspecJSON: Convert Boost-based test cases into natspectJSON/*.sol tests 2023-09-11 18:06:42 +02:00
Kamil Śliwak
ba019e5a01 SolidityNatspecJSON: Manual conversion of two test cases that would not be handled correctly by the script
- dev_multiple_params_mixed_whitespace has whitespace that is not completely preserved
- dev_explicit_inherit_complex is a multi-file test
2023-09-11 18:06:42 +02:00
Kamil Śliwak
1041f071f0 SolidityNatspecJSON: A few tweaks and small fixes before automatic conversion
- Expectation order matching the order of contracts in the source
- Typos in test names
- Redundant prefixes in test names
- Wrong 'king' in some expectations (it's not checked by the test suite)
2023-09-11 18:06:42 +02:00
Kamil Śliwak
91cc72bcd4 NatspecJSONTest based on SyntaxTest 2023-09-11 18:06:42 +02:00
Matheus Aguiar
14aed39261 Introduce experimental analysis basic infrastructure 2023-09-11 12:29:44 -03:00
Nikola Matic
ae36323edb Fix missing std qualifier for ASAN 2023-09-05 08:49:23 +02:00
Nikola Matic
fdc6699159 Rematerialize zero literals with default cleanup sequence
Add unused pruner step to the end of the default cleanup sequence
2023-09-04 15:40:33 +02:00
Nikola Matic
76e0d81354 Fix failing OZ test 2023-09-04 12:23:12 +02:00
Paul
b3230b0bdc deprecate using namespace std
test: updat filereader test

deprecate namespace std

deprecate namespace std

deprecate namespace std

deprecate namespace std

deprecate namespace std

deprecate namespace std

deprecate namespace std

deprecate namespace std

deprecated std namespace

deprecated std namespace

deprecated std namespace

deprecated std namespace

deprecated std namespace

deprecated std namespace

deprecated std namespace

deprecated std namespace

deprecated std namespace

depecrate namespace std

deprecated namespace std

check ci

clean line

Co-authored-by: Nikola Matić <nikola.matic@ethereum.org>

purge line

pure line

deprecate std

deprecate std

deprecate std

deprecate std

deprecate std

deprecate

deprecate std

bye namespace
2023-09-04 10:12:07 +02:00
Kamil Śliwak
e847596e39 CommonSyntaxTest: Add support for syntax tests with custom expectations in addition to expected errors 2023-08-23 18:00:01 +02:00
Kamil Śliwak
c965d6332c SyntaxTest: Allow derived test cases to filter out warnings and infos 2023-08-23 18:00:01 +02:00
Kamil Śliwak
73b9077ab0 SyntaxTest: Default-initialize boolean fields without showing the value
- These get re-initialized in constructor anyway. The only purpose if initializing here is our convention to always initialize primitive types at declaration time. We don't want to have to repeat the defaults though.
2023-08-23 18:00:01 +02:00
Kamil Śliwak
1bb596096b fixup! Change semantic tests to use the proper via IR pipeline, without rerunning on exceptions 2023-08-22 20:43:46 +02:00
Kamil Śliwak
a4d777643d fixup! Change semantic tests to use the proper via IR pipeline, without rerunning on exceptions 2023-08-22 20:19:20 +02:00
Kamil Śliwak
38decf05dd Update gas expectations 2023-08-22 20:00:03 +02:00
Kamil Śliwak
ffd495bd89 Increase gas in call_options_overload test to make it pass on homestead
- After the test framework changes it fails via Yul on Homestead but passes on all other EVM versions and on legacy. The test itself does not seem to be testing these specific numbers so and increasing them resolves the problem.
2023-08-22 20:00:03 +02:00
Daniel Kirchner
b9db435684 Rerun SolidityEndToEndTest.cpp tests on stack errors. 2023-08-22 20:00:03 +02:00
Kamil Śliwak
bc6d10f11d SemanticTest: Add a setting that explicitly states the minimal Yul optimization level that avoids "Stack too deep" 2023-08-22 20:00:00 +02:00
Daniel Kirchner
8e9496eb8b Change semantic tests to use the proper via IR pipeline, without rerunning on exceptions 2023-08-22 19:58:31 +02:00
Kamil Śliwak
9adbced98e Remove parser error recovery mode 2023-08-22 12:00:11 +02:00
Daniel
c96db51013
Merge pull request #14309 from ethereum/astPropertyTests
AST Property tests
2023-08-21 19:21:20 +02:00
Kamil Śliwak
36429e397c Fix ICE when requesting --combined-json outputs other than AST with --stop-after parsing 2023-08-21 17:50:41 +02:00
Kamil Śliwak
a15ef59eec Remove the ability to produce an AST in presence of errors in --error-recovery mode
This reverts commit 7fd7cc1e76.
2023-08-21 17:50:41 +02:00
Matheus Aguiar
969aea6d33 Added new kind of test: check for specific properties of AST 2023-08-21 12:37:40 -03:00
Kamil Śliwak
397a5543a4 fixup! BytesUtils: Don't introduce garbage when formatting byte vectors shorter than expected 2023-08-17 20:45:16 +02:00
Kamil Śliwak
0f5aacefa0 BytesUtils: Don't format parameters shorter than 32 bytes as integers 2023-08-17 20:00:54 +02:00
Kamil Śliwak
368ea01bb2 BytesUtils: Don't introduce garbage when formatting byte vectors shorter than expected 2023-08-17 20:00:44 +02:00
Kamil Śliwak
2baf9d4d82 Put stripPreReleaseWarning() next to withPreamble() 2023-08-17 17:39:27 +02:00
Kamil Śliwak
ec92685bcb Unify preamble handling between AnalysisFramework and SolidityExecutionFramework 2023-08-17 17:39:27 +02:00
Kamil Śliwak
18db62cf41 Unify preamble handling between test cases based on AnalysisFramework 2023-08-17 17:39:27 +02:00
Kamil Śliwak
0c2fce579a Take into account multi-line license comments when adding preamble in test frameworks 2023-08-17 17:39:27 +02:00
Daniel Kirchner
aaba5c408a Remove obsolete main function yul optimiser step. 2023-08-16 17:28:32 +02:00
Kamil Śliwak
339053f185 AnalysisFramework.formatErrors(): Fix _withErrorIds flag not having any effect 2023-08-11 14:15:56 +02:00
Kamil Śliwak
a59fc39f10 Use printErrorInformation() over printExceptionInformation() where possible 2023-08-11 14:15:56 +02:00
Kamil Śliwak
8407c8c615 SourceReferenceFormatter: Support full range of options in formatErrorInformation() 2023-08-11 14:15:56 +02:00
Kamil Śliwak
b7d2c8bb0a SourceReferenceFormatter: Line wrapping and unused includes 2023-08-11 14:15:56 +02:00