Daniel Kirchner
b6cd3e154c
Test case for current behaviour.
2022-03-15 18:36:30 +01:00
chriseth
5afa2adec2
Merge pull request #12775 from ethereum/refactorDataFlowAnalyzer
...
Refactor data flow analyzer state access.
2022-03-15 15:52:40 +01:00
Daniel Kirchner
8cb01a9953
Fix and updated test.
2022-03-15 10:23:09 +01:00
Daniel Kirchner
db27051024
Test for old behaviour.
2022-03-15 10:23:09 +01:00
chriseth
eab4ca906c
Refactor data flow analyzer state access.
2022-03-14 19:32:33 +01:00
chriseth
e154d43176
Merge pull request #12288 from ethereum/exportUsing
...
Using global
2022-03-14 18:57:26 +01:00
chriseth
9188519f11
Using for with global binding.
2022-03-14 17:39:14 +01:00
Bhargava Shastry
e19c366532
Merge pull request #12789 from ethereum/yulFuzzerCustomMutation
...
Permit control flow mutations in global scope of a Yul program.
2022-03-14 16:23:18 +01:00
chriseth
7f360e61fc
Merge pull request #12781 from ethereum/fixImportDirectiveVisits
...
Fix import directive visits in type checker and view pure checker.
2022-03-14 15:35:37 +01:00
chriseth
3d8fc6b126
Merge pull request #12760 from ethereum/viaIRNonExperimental
...
Mark viaIR code generation as non-experimental.
2022-03-14 15:30:15 +01:00
Bhargava Shastry
e0d9dec874
Permit control flow mutations in global scope of a Yul program.
2022-03-14 15:04:32 +01:00
Daniel Kirchner
0f1a63c3fa
Fix import directive visits in type checker and view pure checker.
2022-03-14 14:53:06 +01:00
Daniel Kirchner
0172f61340
No longer mark Yul as experimental.
2022-03-14 14:48:01 +01:00
Daniel Kirchner
e58c0b561d
Mark viaIR code generation as non-experimental.
2022-03-14 14:48:00 +01:00
wechman
8a254b7a7f
Use sol file to validate test variants
2022-03-14 14:21:30 +01:00
wechman
4c1224e3bf
Generate ASTJSONTest variants only if a file with expected result exists
2022-03-14 14:21:30 +01:00
wechman
371a531381
Add "fail after parsing" scenario to ASTJSON tests
2022-03-14 14:21:30 +01:00
wechman
f431c6f058
Support compilation fail scenarios in ASTJSON tests
2022-03-14 14:21:06 +01:00
wechman
38639417e1
Non-fatal erros do not stop ASTJSON test execution
2022-03-14 14:21:06 +01:00
wechman
5f7ff667b9
Fix syntax errors in ASTJSON tests
2022-03-14 14:21:06 +01:00
wechman
d609409624
Add not_existing_import.json to ASTJSON tests
2022-03-14 14:21:06 +01:00
chriseth
3f6beaa0ad
Merge pull request #12121 from ethereum/extend-using-statement
...
Extend using statement
2022-03-14 14:10:16 +01:00
hrkrshnn
672951ccc7
Extend using-for.
2022-03-14 12:33:44 +01:00
Christian Parpart
2b2f8acc12
LSP: Implements goto-definition.
2022-03-14 11:59:41 +01:00
chriseth
60463cfd11
Merge pull request #12716 from ethereum/set-c-locale
...
Don't set locale used by C++ stdlib to the value from `LC_ALL` env variable even if it's valid
2022-03-14 10:38:19 +01:00
nishant-sachdeva
b7a9daa2f8
Generate warning when rational numbers are converted to their mobile type without explicit requests
2022-03-14 14:04:46 +05:30
Kamil Śliwak
2d834eaf67
A script and CI job for testing the compiler with different locales
2022-03-14 09:08:01 +01:00
Daniel Kirchner
26963775fe
Merge pull request #12736 from ethereum/reenable-tests-via-ir-in-ext-tests
...
Re-enable running tests via IR in external tests in cases where they don't pass due to Hardhat heuristics
2022-03-11 13:44:55 +01:00
Daniel Kirchner
09f667948b
Merge pull request #12746 from tfire/fix/remove-namespace-ast-annotations
...
Remove use of `using namespace` in header file
2022-03-11 12:49:13 +01:00
Nishant Sachdeva
1827df8a2d
Merge pull request #12779 from nishant-sachdeva/distinguish_different_types_in_error_messages_from_abiEncodecall
...
Error messages from abi encodecall are giving more details about the types of the involved variables
2022-03-11 16:50:45 +05:30
Daniel Kirchner
c13e611e98
Merge pull request #12768 from ethereum/euler-timeout-fix-attempt-2
...
Euler timeout fix: switch to TEST_TIMEOUT variable
2022-03-11 12:04:05 +01:00
nishant-sachdeva
624d2d3968
Error messages from abi encodecall are giving more details about the types of the involved variables
2022-03-11 16:14:55 +05:30
Tyler
3357567453
Fix CommonSyntaxTest.cpp and others
2022-03-10 18:16:12 -05:00
Tyler
1c58b91075
Merge branch 'develop' of github.com:tfire/solidity into fix/remove-namespace-ast-annotations
2022-03-10 17:39:29 -05:00
Tyler
1653b6c5b7
more qualifying
2022-03-10 17:36:46 -05:00
chriseth
4f02be110c
Unused store eliminator.
2022-03-10 18:25:28 +01:00
Kamil Śliwak
b5caa77482
euler: Use project's own TEST_TIMEOUT var for changing the timeout instead of mocha settings
2022-03-10 14:52:51 +01:00
chriseth
b3fe042884
Optimize eq iszero jumpi to xor jumpi and remove double jump.
2022-03-10 14:41:41 +01:00
Kamil Śliwak
e9f3f9361d
Re-enable running tests in external tests via IR in cases where they don't pass due to Hardhat heuristics
2022-03-10 14:13:00 +01:00
Daniel Kirchner
794752c649
Merge pull request #12765 from ethereum/euler-timeout-fix
...
Increase Hardhat timeout in Euler ext test
2022-03-10 13:15:59 +01:00
chriseth
6ab31420af
Remove unneeded header files.
2022-03-10 09:55:05 +01:00
chriseth
eff76f0f82
Merge pull request #12195 from ethereum/update-gnosis-ext-test
...
Run GnosisSafe external tests with Hardhat and directly on upstream
2022-03-10 08:42:11 +01:00
Tyler
047034544e
Merge branch 'develop' of github.com:tfire/solidity into fix/remove-namespace-ast-annotations
2022-03-09 18:55:22 -05:00
Kamil Śliwak
9ef600e572
euler: Override Hardhat test timeout
2022-03-09 20:37:08 +01:00
Kamil Śliwak
304c3984ad
Update gnosis external test to use upstream directly and use Hardhat
2022-03-09 19:57:16 +01:00
Kamil Śliwak
bebdcccacd
Merge pull request #12764 from ethereum/elementfi-disable-flaky-mockerc20yearnvault-tests
...
Disable flaky ElementFi tests in `mockERC20YearnVaultTest`
2022-03-09 19:55:05 +01:00
Kamil Śliwak
68bdb7f2e0
Disable flaky ElementFi tests
2022-03-09 18:58:02 +01:00
Daniel Kirchner
e7a3814977
Unit test.
2022-03-09 17:53:28 +01:00
Daniel Kirchner
e0c837b33b
Remove isCreation flag from OptimiserSettings.
2022-03-09 17:53:28 +01:00
Daniel Kirchner
0a9d752b8b
Add test case and adjust tests.
2022-03-09 17:53:28 +01:00
Daniel Kirchner
ce0a3e93f2
Store whether an evmasm Assembly is creation code.
2022-03-09 17:42:29 +01:00
Tyler
519e1c9402
Specify namespaces
...
Fix references into solidity::util
2022-03-08 00:09:17 -05:00
chriseth
77c40cd2af
Merge pull request #12740 from ethereum/remove-locale-dependent-operations
...
Replace all locale-dependent operations with locale-agnostic counterparts
2022-03-07 17:56:58 +01:00
wechman
52dfccca98
Replace all locale-dependent operations with locale-agnostic counterparts
2022-03-07 17:23:08 +01:00
chriseth
57e012da98
Merge pull request #12663 from ethereum/assemblyAnnotationDialectString
...
Assembly annotation as memory-safe using assembly flags.
2022-03-07 13:03:08 +01:00
chriseth
79eba921b8
Merge pull request #12659 from paarthmadan/pm/base-64-test-cases
...
Add Base64 test cases with and without inline assembly
2022-03-07 12:57:49 +01:00
chriseth
4f19d68ee9
Merge pull request #12620 from ethereum/assemblyAnnotation
...
Memory-safety annotation for inline assembly.
2022-03-07 12:48:41 +01:00
Paarth Madan
17fa85a2fb
Add Base64 test cases with and without inline assembly
...
Adds two implementations of Base64 encoding as specified in RFC4648.
Implementation (1) uses inline assembly, while Implementation (2) is
written purely in Solidity.
Assertions are added to replicate the test vectors specified in the RFC
for Base64 to ensure both implementations to specification.
2022-03-05 19:51:46 -05:00
Daniel Kirchner
c9373061aa
Merge pull request #12742 from msooseth/style_fix
...
Fixing style issue in ExecutionFramework.cpp
2022-03-04 15:23:25 +01:00
Mate Soos
66a779d267
Fixing style issue in ExecutionFramework.cpp
...
It should be `auto const&` not `const auto&`
2022-03-04 12:20:57 +01:00
nishant-sachdeva
beabc51c20
returnSize assigned according to truth value of returnInfo.dynamicReturnSize
2022-03-03 18:55:10 +05:30
Daniel Kirchner
b3764ad4ef
Merge pull request #12733 from ethereum/perpetual-pools-fix-race-condition-due-to-hardhat-parallel-compilation
...
Workaround for a race condition in Perpetual Pools ext test due to parallel compilation on Hardhat 2.9.0
2022-03-02 17:22:26 +01:00
Daniel Kirchner
93dd8ad553
Tests.
2022-03-02 17:07:11 +01:00
Kamil Śliwak
30008465bf
perpetual-pools: Use Hardhat 2.8.4 to work around @openzeppelin/hardhat-upgrades's problem with parallel compilation on Hardhat 2.9.0
2022-03-02 16:47:55 +01:00
Daniel Kirchner
6b6e163be5
Tests.
2022-03-02 16:42:28 +01:00
Daniel Kirchner
ad13062978
Patch external tests with a safe inline assembly annotation.
2022-03-02 16:42:28 +01:00
Daniel Kirchner
e6848caac1
Allow annotating inline assembly as memory-safe.
2022-03-02 16:42:28 +01:00
chriseth
b0dcd7b915
Split out disassemble to remove numeric from instruction includes.
2022-03-02 15:30:41 +01:00
Leo Alt
bef69b595b
Ignore cex in SMT test
2022-02-28 18:56:20 +01:00
chriseth
ebd584fcfb
Merge pull request #12206 from ethereum/extractExternalFunctionPart
...
Extract external function part
2022-02-28 13:04:14 +01:00
Kamil Śliwak
8962d53e3c
Merge pull request #12701 from a3d4/fix-running-tests-from-any-drive
...
Fix running path-related tests from any Windows drive
2022-02-28 12:58:45 +01:00
chriseth
ca4c983973
Merge pull request #12695 from ethereum/less-confusing-err
...
Make error message less confusing
2022-02-28 12:36:47 +01:00
a3d4
50ae21d1bf
Fix running tests from any drive
2022-02-22 18:11:42 +01:00
nishant-sachdeva
195f72e844
Added errorSelector field for custom errors
2022-02-21 19:14:33 +05:30
chriseth
e9592c3f8e
Update tests.
2022-02-21 14:32:52 +01:00
Marenz
175580fe90
Make error message less confusing
2022-02-17 16:52:36 +01:00
Kamil Śliwak
8aa3b7fea0
Neutralize packaged Uniswap contracts in yield-liquidator external test
2022-02-16 13:16:44 +01:00
Kamil Śliwak
ccbc865beb
elementfi: Bypass expiration check that won't pass due to test settings
2022-02-15 12:51:40 +01:00
Leo
947a599e91
Merge pull request #12441 from ethereum/benchmarking-ext-tests
...
Benchmarking external tests
2022-02-14 20:14:27 +01:00
Leo
e3e77c0f01
Merge pull request #12551 from ethereum/natspec-test
...
Add test for fixed natspec ICE
2022-02-14 19:51:03 +01:00
Leo
3915768753
Merge pull request #12594 from ethereum/solc-js-ext-test-local-checkout
...
solc-js external test on a local checkout
2022-02-14 19:44:46 +01:00
Daniel Kirchner
c47da51eab
Consider all grandparents in override analysis.
2022-02-14 15:31:31 +01:00
Daniel Kirchner
3b6c99f3e8
Merge pull request #12572 from ethereum/fixStackShuffling
...
Improved stack shuffling in corner cases.
2022-02-14 13:00:56 +01:00
nishant-sachdeva
276851ff91
Added support for FunctionType::Kind::StringConcat and functions string.concat
2022-02-10 22:08:47 +05:30
Daniel Kirchner
290b9326e3
Move stray semantics test to proper directory.
2022-02-10 13:43:49 +01:00
Kamil Śliwak
c6094bb0c2
externalTests: Benchmark reports
2022-02-09 17:02:40 +01:00
Kamil Śliwak
a7852cba75
Python script for parsing eth-gas-reporter output
2022-02-09 17:02:40 +01:00
Kamil Śliwak
7fc2253841
externalTests: Make comments about failing presets less terse
2022-02-09 17:02:40 +01:00
Kamil Śliwak
3e1aee1745
externalTests: Clean the build/ dir for Hardhat too
2022-02-09 17:02:40 +01:00
Marenz
46075d04d9
Include used events in `--hashes
` output
2022-02-09 13:50:42 +01:00
Marenz
3e7c68d9b0
Merge identifier query methods into one
2022-02-08 17:44:21 +01:00
joshieDo
9e62f21b25
Add event and error identifiers to cli hashes cmd
2022-02-08 17:44:21 +01:00
chriseth
5c3bcb6c2d
Merge pull request #12434 from ethereum/outputLocations
...
Output searched locations on import failure.
2022-02-08 17:16:46 +01:00
joshuatarkwski
6225dad332
Output searched locations on import failure.
2022-02-08 16:20:27 +01:00
chriseth
91b7d5fe5d
Merge pull request #12642 from ethereum/remove-solidityfixedfeeregistrar-ref
...
Remove a reference to unused SolidityFixedFeeRegistrar (retry)
2022-02-08 13:32:05 +01:00
Kamil Śliwak
28bc5db576
Merge pull request #12598 from a3d4/case-insensitive-root-in-normalizeclipathforvfs
...
Treat root path in normalizeCLIPathForVFS as case insensitive on Windows
2022-02-08 13:17:05 +01:00
Kamil Śliwak
122ad0770a
Merge pull request #12632 from a3d4/symlinks-on-windows
...
Clarify symlink handling on Windows
2022-02-08 13:16:24 +01:00
Mathias L. Baumann
c139d39b9b
Merge pull request #12589 from ethereum/emit-immutable-references
...
Emit immutable references for pure yul code
2022-02-07 13:21:44 +01:00
Marenz
b9fe628b70
Emit immutable references for pure yul code
2022-02-07 12:32:54 +01:00
chriseth
4715fafb82
Re-enable preset for poolTogether.
2022-02-07 11:31:59 +01:00
a3d4
a0dd2cd1ff
Remove a reference to unused SolidityFixedFeeRegistrar
2022-02-05 15:14:18 +01:00
a3d4
0a17495cf9
Treat root path in normalizeCLIPathForVFS as case insensitive on Windows
2022-02-05 11:51:11 +01:00
a3d4
7634fc4ea9
Clarify symlink handling on Windows
2022-02-05 03:44:54 +01:00
Kamil Śliwak
32d64ce666
Merge pull request #12630 from ethereum/enable-full-tests-in-prb-math-ext-test
...
Enable full tests in PRBMath external test
2022-02-04 16:56:31 +01:00
Kamil Śliwak
4ebd839d3a
Run full tests, not just test:contracts in PRBMath external test
...
- `test:contracts` does not seem to be running any tests at all.
2022-02-04 15:51:34 +01:00
Kamil Śliwak
b52032a452
Re-enable Bleeps and just disable the failing governor test
2022-02-04 15:18:37 +01:00
Kamil Śliwak
9e641e60e7
externalTests/solc-js: Allow using a local checkout of solc-js
2022-02-04 15:05:00 +01:00
Kamil Śliwak
b925250705
Make solc-js.sh run its tests directly
...
- Its structure has diverged a lot from other external tests and there's not point in keeping it abstracted like this.
2022-02-04 15:05:00 +01:00
Kamil Śliwak
f5b345504b
When installing solc-js use the dist/ subdir, which contains the built JS files
2022-02-03 18:47:19 +01:00
Kamil Śliwak
e1a90b829e
bleeps: Patch WETH9.sol for 0.8.x
2022-02-01 16:40:28 +01:00
Kamil Śliwak
57800529d1
bleeps: Switch to the main branch
2022-02-01 16:40:08 +01:00
Kamil Śliwak
6788f77541
Add missing SELECTED_PRESETS argument to some of the recently added external tests
2022-02-01 15:25:13 +01:00
Kamil Śliwak
1528d4b9e4
perpetual-pools: Switch the test to our fork (original repo is gone)
2022-02-01 14:34:03 +01:00
hrkrshnn
0fe5811459
Fixed a ICE on calldata to struct member copy
2022-01-31 17:26:11 +01:00
nishant-sachdeva
dec511aad8
Corresponding code in the .cpp file has been commented instead of begin removed pending preliminary reviews
...
Code generators needed fixing of the cleanup process during typecasting of bytes and integers
2022-01-28 19:56:15 +05:30
Bhargava Shastry
4bcd69e7bd
Code transform fuzzer: Only test against latest EVM version.
2022-01-27 14:49:44 +01:00
Bhargava Shastry
cfda0e41ce
Filter log statements and remove gas comparison.
2022-01-26 15:58:12 +01:00
Kamil Śliwak
cdaa6dd591
Adjust workflow with solc-js checkout now that it's on TypeScrpt
2022-01-25 16:42:37 +01:00
Kamil Śliwak
2e1383eae1
Change the way we run solcjs now that it has been renamed in solc-js
2022-01-25 13:32:02 +01:00
Kamil Śliwak
cf024d9fa3
External test for ElementFi
2022-01-24 11:53:00 +01:00
Kamil Śliwak
36efd084df
External test for PRBMath
2022-01-21 23:48:46 +01:00
Kamil Śliwak
aeb9637377
External test for Uniswap V3
2022-01-21 16:10:24 +01:00
Kamil Śliwak
d3cce85a8d
externalTests: Make force_hardhat_unlimited_contract_size work with Typescript < 4.0
...
- The `??=` operator was added in Typescript 4. `??` Was already available on 3.7 so we can use it instead to get projects like Uniswap work.
2022-01-21 16:10:24 +01:00
Daniel Kirchner
de28f31716
Improved stack shuffling in corner cases.
2022-01-21 15:41:30 +01:00
Kamil Śliwak
a7cbb41bf9
externalTests: Add name_hardhat_default_export
2022-01-21 15:18:26 +01:00
Daniel Kirchner
76540b338e
Merge pull request #12561 from ethereum/perpetual-pools-ext-test
...
External test for Tracer Perpetual Pools
2022-01-21 11:42:26 +01:00
Marenz
a550048cf0
Fix too strict assert for calldata string -> bytes conversions
2022-01-20 15:11:26 +01:00
Daniel Kirchner
0b9ab33fce
Merge pull request #12557 from nishant-sachdeva/adding_stack_height_checker_to_address_provider_in_case_type_function
...
Adding Stack Height Checker and modifying the number of POP instructions
2022-01-19 21:18:15 +01:00
nishant-sachdeva
27d0480e96
Adding Stack Height Checker and modifying the number of POP instructions to appropriately provide the pointer address
2022-01-20 01:15:08 +05:30
Kamil Śliwak
7b4522f507
External test for Tracer Perpetual Pools
2022-01-19 20:24:25 +01:00
Kamil Śliwak
8f804333fe
force_hardhat_unlimited_contract_size: Initialize 'hardhat' network if is not explicitly configured
2022-01-19 20:23:41 +01:00
Kamil Śliwak
93f7d5f8f0
External tests for Pool Together v4
2022-01-19 17:21:03 +01:00
Daniel Kirchner
c3c5937bd7
Merge pull request #12552 from ethereum/missing-bracket
...
Add missing bracket in test
2022-01-19 16:07:41 +01:00
Marenz
be7c7dd4a9
Make formatting more consistent in natspec tests
2022-01-19 15:35:27 +01:00
Marenz
6d05912d70
Require strict parsing for natspec JSON tests
2022-01-19 15:35:27 +01:00
Daniel Kirchner
92c262d116
Merge pull request #12553 from ethereum/ir-ice-12546
...
Fix .push() not considering external functions
2022-01-19 13:41:20 +01:00
nishant-sachdeva
a0d6c11860
Equality operator allowed for external function types
2022-01-19 15:20:31 +05:30
Marenz
89d6bff72a
Fix .push() not considering external functions
2022-01-18 16:30:31 +01:00
Marenz
7fbf134ce3
Add test for fixed natspec ICE
2022-01-18 13:36:54 +01:00
Daniel Kirchner
cf8a7c3bea
Merge pull request #12544 from ethereum/natspec-ice-12528
...
Natspec: Fix ICE when overriding a struct getter with a Natspec-documented return value and the name in the struct is different.
2022-01-18 12:48:26 +01:00
Daniel Kirchner
79e9d619a3
Merge pull request #12545 from ethereum/yulGrammarFluke
...
Allow builtins in yul identifier paths in antlr grammar.
2022-01-17 20:42:14 +01:00
Daniel Kirchner
c91f995ec9
Update test/libsolidity/syntaxTests/inlineAssembly/assignment_to_function_pointer.sol
...
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2022-01-17 20:12:11 +01:00
Daniel Kirchner
2d0f6278bb
Allow builtins as yul identifier paths in antlr grammar.
2022-01-17 18:42:54 +01:00
Marenz
7c0a121e45
Natspec: Fix ICE when overriding a struct getter with a Natspec-documented return value and the name in the struct is different.
2022-01-17 17:10:07 +01:00
Marenz
57d84c8bfb
Fix genetic algorithms CI failure
2022-01-17 13:35:07 +01:00
Marenz
0004ad8764
Fix ICE when a constant variable declaration forward references a struct
2022-01-17 13:24:14 +01:00
Kamil Śliwak
1af0ce0f26
External test for Bleeps
2022-01-14 23:57:14 +01:00
Kamil Śliwak
4de1367ba7
External test for Yield Liquidator V2
2022-01-14 22:37:56 +01:00
Kamil Śliwak
054f1cb304
External test for Euler
2022-01-14 02:14:05 +01:00
Kamil Śliwak
f7a075bd48
externalTests: Add force_hardhat_unlimited_contract_size
2022-01-14 01:46:41 +01:00
Kamil Śliwak
f6ca4132b3
ens: Remove global solc replacement (only necessary with Truffle)
2022-01-14 01:36:47 +01:00
Marenz
2c4c8264e4
Fix wrong error with immutables when base contract c'tor uses return
2022-01-13 13:09:36 +01:00
Leo Alt
098a3cb537
adjust tests for nondeterminism
2022-01-12 18:43:18 +01:00
Daniel Kirchner
1655626e0a
Remove counterexample from test.
2022-01-12 17:58:05 +01:00
Leo Alt
9f171c0f06
update smtchecker tests for new z3
2022-01-12 15:13:34 +01:00
Kamil Śliwak
cc49eeda3f
trident: Note explaining the hard-coded commit
2022-01-10 21:36:58 +01:00
Kamil Śliwak
7142bfa548
trident: Sort test suites to make the order the same in CI and locally
2022-01-10 21:36:58 +01:00
Kamil Śliwak
823f0da3ee
trident: Update to match changes done to other external tests in the preset selection PR
2022-01-10 21:28:32 +01:00
Kamil Śliwak
4842774ab8
Merge pull request #12440 from ethereum/preset-selection-in-ext-tests
...
Preset selection in external tests
2022-01-10 21:15:45 +01:00
Kamil Śliwak
b8b8fcb463
Switch the trident external test to and earlier, working revision
2022-01-10 18:54:50 +01:00
Kamil Śliwak
b60b596741
externalTests: Add support for cloning repos at a specific commit
2022-01-10 18:38:48 +01:00
Kamil Śliwak
1928b7843b
externalTests: Preset selection via command-line arguments
2022-01-10 14:44:00 +01:00
Kamil Śliwak
2d038cddff
trident ext test: Patch upstream instread of relying on our fork
2022-01-10 14:37:25 +01:00
Kamil Śliwak
6980fa32e2
External test for sushiswap/trident
2022-01-10 14:37:24 +01:00
Kamil Śliwak
19b1a13c6d
externalTests: Add support for hardhat.config.ts
2022-01-10 14:37:24 +01:00
Bhargava Shastry
2c7aed1d7e
Add FunctionHoister as a pre-requisite for equal store eliminator.
2022-01-06 14:16:02 +01:00
Mathias L. Baumann
63b6bbe15c
Merge pull request #12471 from ethereum/modifiers-control-flow-11483
...
Properly generated control flows for inherited modifiers
2022-01-06 13:39:50 +01:00
Marenz
e969aed780
Properly resolve virtual modifiers
2022-01-06 12:52:06 +01:00
chriseth
c16867cb83
Merge pull request #12272 from ethereum/equalStoreEliminator
...
Equal store eliminator.
2022-01-05 11:24:59 +01:00
chriseth
679f73c1e0
Merge pull request #12276 from ethereum/fuzz-RSE
...
Yul interpreter: Changes required before merging Redundant store eliminator
2022-01-05 11:23:51 +01:00
Daniel Kirchner
671064b609
Use fixed seed for flaky phaser test for now.
2022-01-04 18:27:31 +01:00
chriseth
6dbe0d0933
Merge pull request #12436 from ethereum/testBatcher
...
Test batcher.
2022-01-04 16:21:56 +01:00
Bhargava Shastry
b8ad2b2718
Yul interpreter: Add flag to disable memory tracing and dump for fuzzing.
...
Model revert in yul interpreter.
Add logTrace for a few more instructions and clear trace on revert.
2022-01-04 11:56:27 +01:00
hrkrshnn
85d1a57e65
Added more tests. Updated chromosome. Remove unused headers.
2022-01-04 13:27:39 +05:30
Bhargava Shastry
259a98b82c
Impose stricter upper bound on memory accesses in order to prevent overflow/wrap around.
2022-01-03 18:22:42 +01:00
chriseth
e7fc2a176a
Test updates.
2022-01-03 15:52:05 +01:00
chriseth
772e100813
Equal store eliminator.
2022-01-03 15:52:05 +01:00
chriseth
2a7f26e2c0
Test batcher.
2021-12-30 15:02:05 +01:00
nishant-sachdeva
bd819c87fa
added warning if isoltest gas-cost-expectations are not enforced
2021-12-30 18:51:55 +05:30
chriseth
692614df72
Merge pull request #12437 from ethereum/encodeCallForDeclarations
...
abi.encodeCall for declarations.
2021-12-29 18:40:18 +01:00
chriseth
4c838d9cf5
abi.encodeCall for declarations.
2021-12-29 12:26:04 +01:00
Leo Alt
fb8c138b8b
Do not analyze unecessary contracts
2021-12-24 19:36:32 +01:00
Kamil Śliwak
7e91dba663
Switch ens external test to ens-contracts repo
2021-12-22 14:45:51 +01:00
chriseth
0769e4df5d
Merge pull request #12445 from ethereum/pylint-enable-more-warnings
...
[pylint] Enable more warnings
2021-12-21 18:20:52 +01:00
Kamil Śliwak
8cfecb45cc
Fix ESLint warnings/errors in external test JS
2021-12-21 16:18:46 +01:00
Kamil Śliwak
5b10ff1216
pylint: Enable and fix singleton-comparison warnings
2021-12-21 15:30:11 +01:00
Kamil Śliwak
784ae91b41
pylint: Enable and fix no-self-use warnings
2021-12-21 15:30:11 +01:00
Kamil Śliwak
449f56c15b
pylint: Enable and fix consider-using-sys-exit warnings
2021-12-21 15:30:11 +01:00
chriseth
a4b2fc9cb7
Merge pull request #12361 from mejsiej/improved-err-msg-when-getter-returns-nothing
...
Changed the message of the error thrown when the structure has all it's members omitted
2021-12-20 21:06:14 +01:00
Kamil Śliwak
1124e28628
externalTests: With COMPILE_ONLY=1 still do compilation on all levels if only JS tests fail
2021-12-20 19:14:37 +01:00
mejsiej
ddd9a84141
Improve failure message when generating getter.
2021-12-20 18:16:27 +01:00
chriseth
8da9239c83
Merge pull request #12396 from ethereum/ext-tests-via-ir
...
External tests via IR
2021-12-20 18:13:02 +01:00
Christian Parpart
b8e64a4883
Fixes CI build error for ArchLinux.
2021-12-20 13:11:00 +01:00
chriseth
3193dfbb5d
Merge pull request #11350 from ethereum/lsp
...
Language Server
2021-12-16 18:54:26 +01:00
chriseth
1594518cfc
Merge pull request #12417 from nishant-sachdeva/invalid_ir_generated_during_copy_of_dynamically_sized_storage_arrays_of_function_type
...
Added sameType check for fromType and toType in YulUtilFunctions.cpp and relevant tests in semanticTests
2021-12-16 18:33:54 +01:00
chriseth
835efea427
Merge pull request #12287 from ethereum/abi.encodeCall
...
Implement typechecked abi.encodeCall()
2021-12-16 18:24:33 +01:00
Christian Parpart
927b24df1f
Initial implementation of Language Server
2021-12-16 17:52:49 +01:00
Marenz
7a96953e78
Implement typechecked abi.encodeCall()
2021-12-16 17:35:58 +01:00
nishant-sachdeva
7cc7a0f183
Added sameType check for fromType and toType in YulUtilFunctions.cpp and relevant tests in semanticTests
2021-12-16 21:51:09 +05:30
nishant-sachdeva
19a74506e3
trial test cases extracted from SoliidityEndToEndTest.cpp into .sol files.
...
removed libevmone.so files from the directory
trial test cases extracted from SoliidityEndToEndTest.cpp into .sol files. Corresponding code in the .cpp file has been commented instead of begin removed pending preliminary reviews
removed libevmone files
Added testcase packed_storage_structs_delete
added test case invalid_enum_logged
added test case enum_referencing
added test case memory_types_initialisation
added test case return string
added test case constant_string_literal.sol
removed extractable keyword from solidityEndtoEnd.cpp, moved copying_bytes_multiassigned.sol to array/copying folder, added recv() function to copying_bytes_multiassigned.sol but this test case is failing now
change typo error in the name of test case library_staticcall_delegatecal.sol to library_staticcall_delegatecall.sol
Added compileToEwasm:false to call_forward_bytes.sol test case and moved it to semanticTests/fallback
added compileToEwasm:false line to library_call_in_homestead
added compileToEwasm: false line to copying_bytes_multiassign, copy_from_calldata_removes_bytes, enum_referencing, library_call_in_homestead, struct_referencing
Added test case internal_types_in_library
Added test case mapping_arguments_in_library
Added test case mapping_returns_in_library
Added test case mapping_returns_in_library_named
Added test case using_library_mappings_public
Added test case library_function_external
Added test case library_stray_values
added test case using_library_mappings_return
added test case using_library_structs
Added test case using_for_function_on_struct and corrections to using_library_structs, using_library_mpapings_return, library_stray_values
Added test case using_for_overload
added test case using_for_by_name
added test case bound_function_in_function
added test case bound_function_in_var
added test case bound_function_to_string
added test case payable_function_calls_library
added function call corrections to copying_bytes_multiassign and call_forward_bytes
Made changes to the test cases as per comments on PR #12289
mentioned in Changelog.md : Extraced some test cases from SolEndToEnd.cpp
2021-12-16 16:56:38 +05:30
nishant-sachdeva
9b55d4788e
Added sameType check for fromType and toType in YulUtilFunctions.cpp and relevant tests in semanticTests
2021-12-15 23:50:25 +05:30
Kamil Śliwak
3ec05d02b5
externalTests: Add extra viaIR runs
2021-12-14 13:19:54 +01:00
Kamil Śliwak
d304c84432
externalTests: Replace optimizer levels with named presets
2021-12-14 13:19:53 +01:00
Kamil Śliwak
adfa51c01c
externalTests: Measure compilation time
2021-12-14 13:19:21 +01:00
Leo Alt
316be7206f
Fix soundness of storage/memory pointers that were not erasing enough knowledge
2021-12-14 12:02:18 +01:00
chriseth
248bc387cd
Merge pull request #12393 from ethereum/dont-compile-twice-in-colony-ext-test
...
Avoid double compilation in Colony external test
2021-12-13 18:51:21 +01:00
chriseth
0e6388a907
Clarify FileReader interface.
2021-12-13 14:54:58 +01:00
chriseth
9131475b7c
Merge pull request #12394 from ethereum/make-optimizer-level-2-effective-again-in-ext-tests
...
Make optimizer level 2 in external tests actually different from level 3
2021-12-13 13:02:00 +01:00
Kamil Śliwak
6afb63200c
externalTests: Use yarn install
instead of yarn
in colony ext test to avoid compiling contracts twice
2021-12-13 11:46:13 +01:00
Kamil Śliwak
eb8e304b47
externalTests: Add support for using a native binary
2021-12-10 17:43:57 +01:00
Kamil Śliwak
68ff073b3b
externalTests.sh: Remove outdated commented-out command to run gnosis
...
- A newer command is already enabled above it
2021-12-10 17:40:54 +01:00
Kamil Śliwak
081b80ccb2
externalTests: Refactor setup and input verification
2021-12-10 17:40:54 +01:00
Kamil Śliwak
0edbd90f52
externalTests: Use fail() function to simplify error checks
2021-12-10 17:40:54 +01:00
Kamil Śliwak
5fb0246f1c
Use the right config file name in ENS external test
2021-12-10 17:02:35 +01:00
Kamil Śliwak
937597c1cd
Use unique name for gnosis-v2 ext test
2021-12-10 15:40:46 +01:00
Kamil Śliwak
8ada7db7e9
externalTests: Fix optimizer level 2 to make it actually run without Yul optimizer
2021-12-10 15:40:46 +01:00
chriseth
4e0f334107
Merge pull request #12275 from nishant-sachdeva/calldata-struct-arugment-with-internal-type-inside
...
Calldata struct array arugment with internal type inside
2021-12-06 16:55:56 +01:00
chriseth
9e9225eb60
Merge pull request #11800 from spiyer99/separate-control-flow-from-error-reporting-in-CommandLineParser
...
Separate control flow from error reporting in command line parser
2021-12-06 16:50:27 +01:00
chriseth
f9859135d5
Merge pull request #12354 from ethereum/addReadBytesFunction
...
Function to read a number of bytes from an input stream.
2021-12-06 11:50:58 +01:00
nishant-sachdeva
a4fbc607c6
Issue 11610 : Replced typeError with fataTypeError in lines 390 and 406. Test file added in test/libsolidity/syntaxTests/calldata_struct_argument_with_internal_type_inside.sol
...
Issue : 11610 : Test cases updated, Changelog.md file updated to include change on 0.8.11
2021-12-03 12:23:35 +05:30
Leo Alt
16535aae32
Fix ICE when unsafe targets are solved more than once and the cex is different
2021-12-03 00:21:38 +01:00
chriseth
d9a4020a92
Function to read a number of bytes from an input stream.
2021-12-01 16:24:56 +01:00
chriseth
5d571bb111
Merge pull request #12352 from ethereum/lineColumnTranslateForCharStream
...
LineColumn handling for CharStream.
2021-12-01 15:59:21 +01:00
chriseth
264b7bd857
LineColumn handling for CharStream.
2021-12-01 15:16:01 +01:00
chriseth
b6bd85202c
Accessors for exceptions.
2021-12-01 14:26:23 +01:00
chriseth
bd193ae840
Fix whitespace problem.
2021-12-01 12:46:02 +01:00
chriseth
5a908a8705
Merge pull request #12348 from dallonasnes/fix-cut-on-macos
...
Fix cl test script on macOS
2021-12-01 12:36:32 +01:00
Dallon Asnes
70e925dbfc
Update test/cmdlineTests.sh
...
Co-authored-by: Kamil Śliwak <cameel2@gmail.com>
2021-11-30 10:07:50 -06:00
Kamil Śliwak
c04fca7c2d
Merge pull request #12192 from ethereum/hardhat-in-oz-ext-test
...
Use Hardhat and the right binary for OpenZeppelin external tests
2021-11-30 16:17:28 +01:00
Dallon Asnes
a0aacb91a6
Fix cl test script on macOS
2021-11-29 23:43:28 -06:00
nishant-sachdeva
49d9f334aa
Extracted some test cases from SolidityEndToEnd.cpp
2021-11-29 21:27:43 +05:30
Kamil Śliwak
9f59d1746b
Fix OpenZeppelin external tests to actually use Hardhat and the binary built in CI
2021-11-25 21:34:53 +01:00
Leo Alt
a2588533e5
macos nondeterminism
2021-11-24 20:41:22 +01:00
Leo Alt
0c34d9df88
Adjust tests for nondeterminism
2021-11-24 20:41:22 +01:00
Leo Alt
ff5c842d67
update smtchecker tests
2021-11-24 20:41:22 +01:00
chriseth
0e7a065a78
Enhance documentation.
2021-11-23 14:58:04 +01:00
chriseth
bd321b9f1f
Rename RedundantAssignEliminator to UnusedAssignEliminator.
2021-11-23 10:38:36 +01:00
chriseth
defc74c8a2
Merge pull request #12282 from ethereum/fix-gas-test-enforcement
...
Fix gas cost enforcement for constructors and make `--enforce-gas-cost-min-value` actually work
2021-11-22 12:39:07 +01:00
Kamil Śliwak
2aeeef83f2
Merge pull request #12214 from ethereum/parallelize-external-tests
...
Parallelize external tests
2021-11-18 17:27:57 +01:00
Kamil Śliwak
cbb3e07480
Merge pull request #12141 from ethereum/via-ir-equivalence-tests
...
Tests for the equivalence of one- and two-stage compilation via IR
2021-11-18 15:17:44 +01:00
Kamil Śliwak
ab96f2b69f
Merge pull request #12200 from ethereum/refactorASTJSON
...
Refactor ASTJSON tests to allow easier addition of variations.
2021-11-18 15:09:31 +01:00
Kamil Śliwak
90fdea95e7
TestFunctionCall::formatRawParameters(): Ensure that uint8_t overload of toHex() is called
...
- Wrong overload results in isoltest padding each char to 32 bytes
2021-11-15 20:52:25 +01:00
Kamil Śliwak
27dc77be5d
Fix typo in test name: ihneritance -> inheritance
2021-11-15 16:32:45 +01:00
Kamil Śliwak
032f2d8f9f
Update gas expectations
2021-11-15 16:32:45 +01:00
Kamil Śliwak
f42180ef06
Rename gas constants in ExecutionFramework
2021-11-15 16:31:52 +01:00
Kamil Śliwak
077b3a003d
Fix --enforce-gas-cost-min-value
being applied only when the cost expectations are not provided in the test file
2021-11-15 16:31:52 +01:00
Kamil Śliwak
cf52827107
Fix gas mismatch in constructor not being counted as a failure
2021-11-15 16:19:22 +01:00
Marenz
49b4e77d6b
Prevent crash when translating yul->ewasm with @use-src annotations
2021-11-11 13:43:57 +01:00
Marenz
ab5a06e2b9
Refactor ASTJSON tests to allow easier addition of variations.
2021-11-11 10:44:16 +01:00
Kamil Śliwak
0d82fe9ca7
cmdlineTests.sh: Test the equivalence of one and two-stage compilation via IR
2021-11-10 18:12:06 +01:00
chriseth
f42e3c0bae
Merge pull request #12262 from ethereum/functionGrouper
...
Keep canonical form of Yul during optimization.
2021-11-10 11:09:15 +01:00
Kamil Śliwak
c8380c25bb
CommandLineInterface: Update control flow to accommodate the new way of reporting errors
2021-11-09 18:16:30 +01:00
Kamil Śliwak
16f62ed43e
Move the Yul experimental warning from CommandLineParser to CommandLineInterface and remove stderr from the parser
2021-11-09 18:16:30 +01:00
Kamil Śliwak
3f5471165f
CommandLineParser: Report errors by raising exceptions
2021-11-09 18:16:30 +01:00
Kamil Śliwak
834f9d3a6e
Parallelize external test runs on CircleCI
2021-11-09 16:57:37 +01:00
Kamil Śliwak
79af83eae3
Merge pull request #12191 from ethereum/more-flexible-external-test-scripts
...
Make external test scripts more flexible
2021-11-09 16:31:21 +01:00
Daniel Kirchner
10618188dd
Update tests.
2021-11-09 14:34:05 +01:00
chriseth
fe6e58b0e4
Merge pull request #12259 from ethereum/external-tests-and-scripts-minor-reactors
...
Tiny refactors in external tests and scripts
2021-11-08 17:21:23 +01:00
chriseth
1633e367c9
Merge pull request #12199 from ethereum/expose-parsingAndImporting
...
Expose "parsingAndImporting" setting to user
2021-11-08 17:06:20 +01:00
Kamil Śliwak
44f7065fc9
Merge pull request #12074 from ethereum/output-selection-in-assembler-mode
...
CLI output selection in assembler mode
2021-11-08 16:59:57 +01:00
Kamil Śliwak
0745279f15
externalTests: Generalize force_truffle_solc_modules and make it use symlinks instead of redownloading solc-js
2021-11-08 16:37:23 +01:00
Kamil Śliwak
c090ff9d83
externalTests: Neutralize npm hooks instead of replacing pragmas twice
...
- This also has the nice effect of stopping projects from trying to compile contracts during installation
2021-11-08 16:37:23 +01:00
Kamil Śliwak
7b7cc081db
externalTests: Helper for neutralizing package locks
2021-11-08 16:37:23 +01:00
Kamil Śliwak
b57c0a0b81
externalTests: Refactor to be more explicit and easier to adjust for special cases
2021-11-08 16:37:23 +01:00
Kamil Śliwak
7ccdbd5b08
Use consistent syntax for Bash function declarations
2021-11-08 16:34:07 +01:00
Marenz
fc224f74c7
Evaluate absolute paths for imports in 'parsing' stage
2021-11-08 16:34:02 +01:00
Kamil Śliwak
bc2402e76f
externalTests: Use named tmp dirs
2021-11-08 16:29:59 +01:00
Kamil Śliwak
ed907561eb
externalTests: Enable set -e
in external tests
2021-11-08 16:29:52 +01:00
chriseth
080c7245ae
Update tests.
2021-11-08 14:59:00 +01:00
chriseth
31c504c5ba
Add test for extcodesize check.
2021-11-08 14:58:09 +01:00
chriseth
a1aa9d2d90
Skip extcodesize check if return data is expected.
2021-11-08 14:58:09 +01:00
chriseth
f9ba1bf3c8
Merge pull request #12227 from ethereum/smt_fix_gas
...
Fix ICE in CHC when using gas in the function options
2021-11-08 11:54:20 +01:00
Kamil Śliwak
1a19d9a5cf
New CLI output in assembly mode: --ewasm-ir
2021-11-04 18:23:11 +01:00
Kamil Śliwak
affeff18f5
Don't ignore output selection in assembly mode
2021-11-04 18:23:11 +01:00
chriseth
766d10b848
Tests.
2021-11-04 16:38:07 +01:00
chriseth
776ae466bc
Control flow side effects on non-disambiguated source.
2021-11-04 16:32:11 +01:00
Daniel Kirchner
95c973d6c2
Refactoring of optimiser suite and yulopti.
2021-11-03 19:33:01 +01:00
Daniel Kirchner
0cbb297c7b
Non-interactive mode for yulopti.
2021-11-03 19:33:01 +01:00
Leo
58688bd9c1
Merge pull request #12167 from ethereum/smt_merge_query_entry_points
...
[SMTChecker] Merge all entry points for a target
2021-11-03 16:43:16 +01:00
Leo Alt
dff280cadc
Fix ICE in CHC when using gas in the function options
2021-11-03 15:40:54 +01:00
chriseth
6b029c3349
Merge pull request #11974 from ethereum/newCodeTransformIROnly
...
New code transform (IR codegen only).
2021-11-03 14:52:28 +01:00
Kamil Śliwak
2d45099a87
Merge pull request #12118 from ethereum/separate-input-modes-for-help-license-version
...
Separate input modes for `--help`, `--license` and `--version`
2021-11-03 12:52:47 +01:00
Kamil Śliwak
5ce85d7a90
Merge pull request #12187 from ethereum/external-tests-directly-on-upstream
...
Run external tests directly on upstream repo where possible
2021-11-03 12:51:46 +01:00
Daniel Kirchner
28ae316556
Named function labels.
2021-11-03 12:42:07 +01:00
Daniel Kirchner
1a0605c594
Update tests.
2021-11-03 12:39:55 +01:00
Leo Alt
e40cf92b1d
[SMTChecker] Merge all entry points for a target
2021-11-03 11:12:58 +01:00
Kamil Śliwak
0417db0f6a
Don't return an error from --help
2021-11-02 16:31:45 +01:00
Kamil Śliwak
a1c9c1e2b5
CommandLineInterface: Merge processInput() and actOnInput()
...
- The distinction between them is not as clear-cut as it should be. For example processInput() prints output in assembly mode.
2021-11-02 16:31:45 +01:00
Kamil Śliwak
93c1fe6878
Treat --help, --license and --version as separate input modes
2021-11-02 16:31:43 +01:00
chriseth
7f7c5ca171
New tests.
2021-11-02 11:59:01 +01:00
chriseth
3996d0a343
Update tests.
2021-11-02 11:59:01 +01:00
chriseth
5eb97fa6ee
Merge pull request #12219 from ethereum/precompile-extcodesize-check-test
...
Semantic test for high level call to precompiles.
2021-11-01 15:08:52 +01:00
hrkrshnn
7683442ce2
Semantic test for high level call to precompiles.
...
Because of the extcodesize check, the high level call will fail. Even though the low level call can
succeed and return data.
2021-11-01 14:22:48 +01:00
chriseth
8e208f23cb
Fix assignment of return variables from modifiers.
2021-11-01 14:14:50 +01:00
Kamil Śliwak
464ac18a1f
Rename negation_bug.yul to negation_bug.sol
2021-10-29 00:19:43 +02:00
Kamil Śliwak
558d9d4556
Merge pull request #12177 from DavidRomanovizc/patch-4
...
Include actual contract size in the code size warning
2021-10-29 00:18:07 +02:00
David Dzhalaev
79ffa16a61
Improve error message for contract size limit error
2021-10-27 20:06:53 +02:00
Kamil Śliwak
f4421f1b69
Disable metadata in syntax tests
2021-10-27 20:06:53 +02:00
Kamil Śliwak
a039431627
isoltest: Do not try to enforce gas costs when ABIEncoderV1 is used
2021-10-27 18:56:45 +02:00
Kamil Śliwak
eb2425bd7c
isoltest: Fix gas tests always being enforced regardless of evm version
2021-10-27 18:56:45 +02:00
hrkrshnn
8815d6f5f0
Moved a check related to constants to TypeChecker
...
And added a proper error message when constant types containing (nested) mapping types are used.
2021-10-26 18:43:04 +02:00
hrkrshnn
51009c005d
Moved a canBeStored assert for struct members to TypeChecker
...
This is to avoid a assert from failing for forward declared user defined value types.
2021-10-26 18:43:04 +02:00
hrkrshnn
9428dbc94f
Moved storage size assert to TypeChecker from DeclarationTypeChecker
2021-10-26 18:43:04 +02:00
Kamil Śliwak
14210825b1
externalTests/README: Recommend using upstream repository directly when possible
2021-10-26 16:04:08 +02:00
Kamil Śliwak
b8aed7ca86
Run external tests on latest upstream code where possible
2021-10-26 16:04:08 +02:00
Leo Alt
4f823c6342
CLI and JSON tests
2021-10-26 11:30:30 +02:00
Leo Alt
38b0cf7f9c
SMTChecker tests
2021-10-26 11:30:30 +02:00
Leo Alt
2cbd496576
Adjust ModelCheckerSettings in tools tests
2021-10-26 11:30:30 +02:00
Leo Alt
37215ffcfd
Add SMTCheckerTest isoltest option to ignore invariants
2021-10-26 11:30:30 +02:00
Kamil Śliwak
2162039c50
Merge pull request #12142 from ethereum/bash-assert-and-stack-traces
...
Assert and stack traces for Bash scripts
2021-10-26 10:44:39 +02:00
chriseth
e6e30f82ca
Merge pull request #12139 from ethereum/nonamedlabelsifnotunique
...
Do not use named function labels if function names are not unique.
2021-10-25 17:50:29 +02:00
Kamil Śliwak
72b88dabca
Merge pull request #11909 from Midhun07/develop
...
Template code for disallowing options in input modes that do not support them (handles `--error-recovery`)
2021-10-20 18:18:43 +02:00
soroosh-sdi
816d8021e4
Remove linking to unqualified library name
...
- SemanticTests accepts fully qualified library name and also unqualifed library name when
the library is defined in the same file for convenience.
- commandline tests are added!
Signed-off-by: soroosh-sdi <soroosh.sardari@gmail.com>
2021-10-20 18:11:58 +03:30
chriseth
9f48b7419c
Do not use named function labels if function names are not unique.
2021-10-19 18:33:00 +02:00
Midhun07
b28e5c881e
Disallowed --error-recovery in Standard json, Assembly and Linker input modes
2021-10-15 18:57:16 +02:00
Kamil Śliwak
0280c8d00e
Use fail and assertFail where appropriate in command-line tests
2021-10-14 18:56:08 +02:00
chriseth
2c2269d300
Tests
2021-10-14 17:46:07 +02:00
chriseth
9417d6775f
Control flow side-effects for user-defined functions.
2021-10-14 17:46:07 +02:00
chriseth
95dbbdae22
Prepare tests to be meaningful.
2021-10-13 17:56:43 +02:00
Kamil Śliwak
4ed86edbc4
test/formal: Get rid of wildcard imports
2021-10-13 16:20:10 +02:00
Kamil Śliwak
b96de320e2
Fix the simplest pylint warnings (variables/imports, semicolons, etc) and re-enable them in pylintrc
2021-10-13 16:19:16 +02:00
chriseth
a79120fece
Merge pull request #12124 from ethereum/fixTests
...
Fix tests.
2021-10-12 20:26:28 +02:00
chriseth
59d8f50518
Fix tests.
2021-10-12 18:08:33 +02:00
Christian Parpart
b1dd0d0d02
Properly compute source mappings for immutables.
2021-10-12 17:56:17 +02:00
chriseth
49d7b78466
Merge pull request #12123 from ethereum/empty-switch-12068
...
CodeGen: Only output switch when it has cases
2021-10-12 17:42:49 +02:00
Mathias Baumann
454860d1f5
CodeGen: Only output switch when it has cases
2021-10-12 17:40:31 +02:00
chriseth
adc58c67b4
Merge pull request #11944 from ethereum/debug-info-selection
...
Debug info selection
2021-10-12 16:39:50 +02:00
Christian Parpart
591ba184e9
Adds some more version pragma test cases.
2021-10-12 15:15:54 +02:00
Kamil Śliwak
a9e794c872
Expose --debug-info/settings.debug.debugInfo option
2021-10-11 20:34:48 +02:00
Kamil Śliwak
bcfefc79d9
Pass DebugInfoSelection down to the code handling assembly printing
2021-10-11 20:34:48 +02:00
Kamil Śliwak
2cd1c644b6
Remove unused includes and sort existing includes in a few places
2021-10-11 20:34:48 +02:00
Kamil Śliwak
b0a5b92fe9
Merge pull request #12071 from ethereum/cli-validate-output-selection
...
Validate selected compiler outputs on the CLI
2021-10-11 17:52:32 +02:00
Christian Parpart
3f08b2269a
Adds fmtlib as 3rdparty dependency for easier string composition.
2021-10-11 13:35:08 +02:00
Kamil Śliwak
a30348715b
Use boost::current_exception_diagnostic_information() to print extra info about exceptions caught by (...)
2021-10-07 17:41:25 +02:00
chriseth
298af55cc5
Merge pull request #12102 from v-sreekesh/Nested_Brackets_Optimization
...
Nested brackets optimization
2021-10-07 10:48:19 +02:00
chriseth
75ccb4d41f
Merge pull request #12098 from ethereum/reformat-standard-optimizer-cmdline-tests
...
Reformat `standard_optimizer` command-line tests for readability
2021-10-07 10:22:43 +02:00
Kamil Śliwak
b9b2c69d24
CommandLineParser: Validate compiler output selection
2021-10-06 20:09:33 +02:00
Kamil Śliwak
620ec47efb
OptimizerSuite: Rewrite runSequence() with support for nested brackets
2021-10-06 19:15:02 +02:00
Kamil Śliwak
b415e94e19
Reformat standard_optimizer command-line tests for readability
2021-10-06 18:46:53 +02:00
Kamil Śliwak
476c76b54e
compileFull(): Use find instead of /*/*, which requires ignoring missing files
2021-10-06 18:46:42 +02:00
Marenz
4368da0201
Fix ICE when printing an error message related to mappings
2021-10-06 17:02:36 +02:00
chriseth
a709216e37
Merge pull request #11641 from TerranCivilian/src-hash-CommonIO-fix
...
Fix newline error in solidity::util::readUntilEnd
2021-10-06 11:47:02 +02:00
TerranCivilian
020ecc2131
Preserve original newlines in solidity::util::readUntilEnd()
2021-10-05 20:24:24 +02:00
chriseth
9c6ca4f439
Merge pull request #12076 from ethereum/cmdline-test-error-helpers
...
Error helpers + small refactors in `cmdlineTests.sh`
2021-10-05 17:20:49 +02:00
Leo Alt
4c2b661eaa
[SMTChecker] Report values for block, msg and tx variables in counterexamples
2021-10-05 15:19:10 +02:00
chriseth
ecfcca1a27
Merge pull request #12016 from ethereum/external-fp-10358
...
Add ``.address`` and ``.selector`` in inside assembly for external function pointers
2021-10-05 14:48:58 +02:00
Marenz
98dd78362e
Add `.address
and
.selector
` in inside assembly for external function pointers
2021-10-04 18:05:57 +02:00
Kamil Śliwak
b4073179d7
cmdlineTests.sh: Add msg_on_error helper that automatically prints stderr and stdout of a failed command
2021-10-04 14:30:30 +02:00
Kamil Śliwak
26f9a554fb
cmdlineTests.sh: Add fail helper to make exiting on an error more convenient
2021-10-04 14:30:30 +02:00
Kamil Śliwak
ce61a2bf28
cmdlineTests.sh: Add missing rm SOLTMPDIR and remove stray set -e
2021-10-04 14:29:57 +02:00
Kamil Śliwak
05ba53ecc3
cmdlineTests.sh: Don't use --force with rm unless actually needed
2021-10-04 14:29:57 +02:00
Kamil Śliwak
9662e9a8df
cmdlineTests.sh: Enable set -o pipefail
2021-10-04 14:29:57 +02:00
Kamil Śliwak
7f7107405f
Try out the new assertion macro variants with less arguments
2021-10-04 12:05:00 +02:00
chriseth
529087be6c
Merge pull request #12036 from ethereum/smt_fix_magic
...
[SMTChecker] Fix magic access
2021-10-04 11:01:39 +02:00
Kamil Śliwak
d10e668f4f
Merge pull request #12069 from ethereum/remove-combined-json-compact-format-leftovers
...
Remove leftovers of `compact-format` and `interface` from `--combined-json`
2021-10-01 14:40:17 +02:00
Kamil Śliwak
7915f32852
Remove leftovers of compact-format and interface from --combined-json
2021-10-01 13:05:30 +02:00
Leo Alt
d81ebe97c3
Fix magic access
2021-10-01 12:57:06 +02:00
Leo Alt
d25fb29178
Add isoltest option to ignore OS
2021-10-01 12:45:36 +02:00
hrkrshnn
14a678eb67
Fix gas stats
2021-09-29 13:50:51 +02:00
chriseth
e347c983b5
Update gas costs.
2021-09-29 13:25:37 +02:00
chriseth
78a1c1ca6d
Add one more test case.
2021-09-29 13:22:13 +02:00
chriseth
df9721f869
Merge pull request #12047 from ethereum/fixFixedBytesCompilerUtils
...
Properly handle fixed-byte-like types.
2021-09-29 12:23:15 +02:00
chriseth
13354c0b9a
Merge pull request #12050 from ethereum/signedImmutablesBug
...
Fix signed immutables bug.
2021-09-29 11:46:58 +02:00
chriseth
090a46c2a5
New tests.
2021-09-29 11:44:17 +02:00
hrkrshnn
7b7e38768c
Update tests.
2021-09-29 11:44:13 +02:00
hrkrshnn
6109b5c3a1
UserDefinedValueType.storageBytes() is correctly set
...
Previously it returned 32 bytes for all types, which was wasteful. This commit changes it to return
the storage bytes of the underlying type.
2021-09-29 11:41:47 +02:00
chriseth
8f7ba99e30
Merge pull request #12045 from ethereum/arrayTestsForUDFT
...
Fix array copying check.
2021-09-29 10:39:34 +02:00
chriseth
90f4ca1048
Do not store immutables packed.
2021-09-29 10:12:05 +02:00
chriseth
ed7884e341
Merge pull request #12043 from ethereum/exportCanonicalName
...
Export canonicalName
2021-09-29 10:11:30 +02:00
chriseth
bb4e3e191d
Fix array copying check.
2021-09-29 10:00:14 +02:00
hrkrshnn
41f9aab219
Tests for assembly access of user defined value types.
2021-09-28 14:50:08 +02:00
chriseth
b6e62d61ec
Export canonicalName
2021-09-28 12:00:30 +02:00
hrkrshnn
e24083a298
UserDefinedValueType: test for reading from dirty storage slots
2021-09-28 11:27:43 +02:00
chriseth
321e362789
Merge pull request #12024 from ethereum/require-boost-1.77-on-windows
...
Require Boost 1.77 on Windows
2021-09-27 15:41:21 +02:00
chriseth
8bcbf891e5
Merge pull request #12007 from ethereum/include-path-option
...
`--include-path` option (revived)
2021-09-27 15:40:14 +02:00
chriseth
39eb182ccc
Merge pull request #11688 from ethereum/fix-and-document-allow-paths
...
Fix and document `--allow-paths`
2021-09-27 15:39:14 +02:00
Kamil Śliwak
23f7b7781f
cmdlineTests.sh: Skip empty test directories
2021-09-27 13:17:17 +02:00
Kamil Śliwak
77aa1707e1
Revert "Disable tests that fail on Windows due to a bug in Boost <= 1.76"
...
This reverts commit a801c12a8b89a7353a4339510aedc94739e9c46f.
2021-09-27 13:15:57 +02:00
Kamil Śliwak
f909555022
Treat ambiguous imports as errors
2021-09-27 13:14:23 +02:00
Kamil Śliwak
9975b5e26b
Detect source unit name collisions between paths specified on the command line
2021-09-27 13:14:23 +02:00
Kamil Śliwak
c8a7a1da7c
Add --include-path option
2021-09-27 13:14:23 +02:00
Kamil Śliwak
a61a950861
createFilesWithParentDirs(): Use binary mode to preserve original newlines on Windows
2021-09-27 13:14:23 +02:00
Kamil Śliwak
d4d778de77
Disable tests that fail on Windows due to a bug in Boost <= 1.76
2021-09-27 13:14:10 +02:00
Kamil Śliwak
c0b8378782
Do not whitelist any paths if remapping target is empty
2021-09-27 13:14:10 +02:00
Kamil Śliwak
8a8471d9cc
Interpret remapping targets ending with /.. as directories
2021-09-27 13:14:10 +02:00
Kamil Śliwak
479ba7c523
Handle allowing empty paths correctly
2021-09-27 13:14:10 +02:00
Kamil Śliwak
3ac3612767
Whitelist base path
2021-09-27 13:14:10 +02:00
Kamil Śliwak
52dd39212d
Normalize allowed paths before comparing them with imports
2021-09-27 13:14:10 +02:00
Kamil Śliwak
a436abfb25
normalizeCLIPathForVFS(): Add an option for resolving symlinks
2021-09-27 13:14:10 +02:00
Kamil Śliwak
b9b35a0def
Tests for allowed paths (current state)
2021-09-27 13:14:10 +02:00
Kamil Śliwak
226f040e25
Ensure that native path separators are always used in symlink targets on Windows
2021-09-27 13:14:10 +02:00
Alex Beregszaszi
3c8846e669
Merge pull request #11976 from ethereum/json-cleanup
...
Some cleanup and testing for JSON
2021-09-24 19:03:45 +01:00
chriseth
1531863835
Split Common.h into Numeric.h.
2021-09-23 15:27:29 +02:00
Kamil Śliwak
11fdcc5159
Merge pull request #11996 from hawkess/isoltest-validation
...
Isoltest validation
2021-09-22 17:43:44 +02:00
Harikrishnan Mulackal
55d609d354
Merge pull request #11990 from ethereum/smt_user_types
...
[SMTChecker] Support user types
2021-09-22 15:40:49 +02:00
Kamil Śliwak
d23754eafd
AsmParser: Don't use locationOverride as current location when location from comments is selected
2021-09-22 13:11:39 +02:00
Kamil Śliwak
ce4420f857
Separate DebugData fields for Solidity and Yul source locations
2021-09-22 13:11:39 +02:00
Kamil Śliwak
84ca67c283
Yul syntax tests showing broken behavior
2021-09-22 13:11:39 +02:00
chriseth
7726f37946
Update tests.
2021-09-22 11:33:02 +02:00
chriseth
d9ad047c21
Merge pull request #12001 from ethereum/cmdline-test-for-asm-json
...
Command-line test for `--asm-json`
2021-09-22 11:09:02 +02:00
hawkess
4fd5093d94
Removed pointer to external editor resource in IsolTestOptions, changed TestTool::handleResponse() to get editor value from m_options member variable
2021-09-21 14:12:26 -05:00
Marenz
7a51acc5fe
Correct wrong error message referencing .slot
and .offset
when .length
was used
2021-09-21 18:28:38 +02:00
Kamil Śliwak
b1351f4807
Fix typo in test name: leave_items_on_tack.sol
-> leave_items_on_stack.sol
2021-09-21 16:28:16 +02:00
Kamil Śliwak
7bd1d1cf20
Command-line test for --asm-json
2021-09-21 16:28:16 +02:00
Leo Alt
e74f853c6b
[SMTChecker] Support user types
2021-09-21 13:23:17 +02:00
Alex Beregszaszi
69e9531181
Add JSON tests for unicode, all types, and conformance to ECMA-262/ECMA-404
...
Also avoid using toStyledString
2021-09-21 10:49:13 +01:00
Kamil Śliwak
d86347cf7e
Rename existing debug info tests to match the naming convention
2021-09-21 11:07:46 +02:00
hawkess
5edabc014d
Changed enforce-gas-cost and enforce-via-yul to accept explicit arguments
2021-09-20 13:17:35 -05:00
Sean Hawkes
a875d1225a
Explicity set default values for program options based on initialized values from constructor
2021-09-20 08:34:28 -05:00
chriseth
2c3322cbf6
Merge pull request #11993 from ethereum/remove-trailing-whitespace-after-location-with-no-snippet
...
Don't include whitespace after `@src` tag if there's no snippet
2021-09-20 14:10:59 +02:00
Sean Hawkes
f2e59923ab
Added call to CommonOptions base class validate method to derived IsolTestOptions validate method to validate against both common and extended options
2021-09-18 06:59:37 -05:00
Sean Hawkes
76fa00abed
Added invocation of base class addOptions in derived to populate list with common and derived options, fixed errors with editor member variable type mismatch
2021-09-18 06:22:27 -05:00
Sean Hawkes
ae7c617711
Added call to addOptions virtual helper in CommonOptions::parse to add options from base/derived classes, modified interface of IsolTestOptions to include editor member variable set based on provided parameter in constructor as it is now needed by addOptions helper function
2021-09-18 05:43:09 -05:00
Sean Hawkes
f47e918caa
Moved program_options add_options to a helper function to allow defaults to be set by derived class constructor before immutable options are created by parent
2021-09-18 04:55:50 -05:00
Kamil Śliwak
a9b5835e5d
AsmPrinter: Don't include whitespace after @src if there's no code snippet
2021-09-17 21:46:12 +02:00
Kamil Śliwak
fc8c4b046c
StandardCompiler: Do not discard non-fatal errors that happened before a fatal error
2021-09-16 20:29:03 +02:00
Kamil Śliwak
1a9ba1baca
Failing test: standard_yul_single_file_via_urls
2021-09-16 20:29:03 +02:00
chriseth
a141589adf
Update tests.
2021-09-16 17:19:17 +02:00
chriseth
cedf68365b
Move test.
2021-09-16 17:19:17 +02:00
chriseth
3e429ab231
Update commandline tests.
2021-09-16 17:19:17 +02:00
chriseth
63993387d6
Add test for invalid ast id.
2021-09-16 17:18:48 +02:00
chriseth
05d20446bb
Parse @ast-id annotation.
2021-09-16 17:18:48 +02:00
Leo Alt
a1bea368cb
[SMTChecker] Support constants via modules
2021-09-16 14:35:05 +02:00
chriseth
4284499180
Merge pull request #11888 from ethereum/spdx-license-handling-10145
...
Properly detect multiple licenses and validate them.
2021-09-16 14:18:17 +02:00
chriseth
91ef1ceb51
Merge pull request #11954 from ethereum/userdefinedvaluetype-multisource-test
...
Added a multisource test for UserDefinedValueTypes and imports
2021-09-16 13:59:22 +02:00
chriseth
ff0e433635
Merge pull request #11965 from ethereum/userdefined-changed-toString
...
User defined value types changed toString()
2021-09-16 13:58:55 +02:00
Marenz
c81814915c
Properly detect multiple licenses and validate them.
2021-09-16 11:18:26 +02:00
Alex Beregszaszi
c1070fabc0
Merge pull request #11906 from ethereum/smt_fix_bmc
...
[SMTChecker] Fix BMCs constraints on internal functions
2021-09-15 21:01:29 +01:00
hrkrshnn
15fb427a99
Added a multisource test for UserDefinedValueTypes and imports
...
Testing if `import {MyType} from "source";` works
2021-09-15 17:48:53 +02:00
hrkrshnn
48e16ceb88
Changing the UserDefinedValueType::toString to userdefined <name>
2021-09-15 17:25:23 +02:00
Kamil Śliwak
b077ef46e2
cmdlineTests.sh: More descriptive message about used binary path
2021-09-15 16:49:25 +02:00
Kamil Śliwak
67eed76aac
cmdlineTests.sh: Fix running only tests matching patterns given on the command line
2021-09-15 16:49:25 +02:00
chriseth
34e516ea1b
Merge pull request #11963 from ethereum/slightABIDecodeImprovement
...
Improve abi decoding functions for arrays.
2021-09-15 15:42:13 +02:00
Leo Alt
b731957e65
Fix BMCs constraints on internal functions
2021-09-15 14:42:39 +02:00
Daniel Kirchner
d1c0b428fc
Improve abi decoding functions for arrays.
2021-09-15 13:50:19 +02:00
hrkrshnn
42c8310a63
Updated tests.
2021-09-15 12:56:29 +02:00
Daniel Kirchner
0fa24c786b
Merge pull request #11956 from ethereum/userDefinedTypesContractAccess
...
Allow accessing user defined value type members via contract name.
2021-09-14 17:14:04 +02:00
Daniel Kirchner
be29ef70a7
Allow accessing user defined value type members via contract name.
2021-09-14 16:24:14 +02:00
chriseth
8735d3fb6c
Merge pull request #11930 from ethereum/calldataStructInlineAssembly
...
Fix inline assembly assignments to calldata structs and statically-sized calldata arrays.
2021-09-14 16:16:48 +02:00
chriseth
8188ea7d66
Merge pull request #11931 from ethereum/different-metadata-via-ir
...
Different metadata for IR
2021-09-14 15:48:08 +02:00
Leonardo
e45083f319
Merge pull request #11606 from ethereum/info_message
...
Add new info severity
2021-09-14 14:30:07 +02:00
chriseth
cb218fe018
Merge pull request #11947 from ethereum/abicodec-test-userdefined
...
Added an abi function test for UserDefinedValueType
2021-09-14 13:49:45 +02:00
Kamil Śliwak
405a9e9971
Generate separate metadata for the old and the new codegen
2021-09-14 13:44:04 +02:00
Kamil Śliwak
83b3bd0227
Add a version of isValidMetadata() that accepts already parsed metadata
2021-09-14 13:44:04 +02:00
Kamil Śliwak
14639efc5d
Print code snippets next to source locations in IR output
2021-09-14 12:09:59 +02:00
Kamil Śliwak
d78522b08b
AsmParser: Accept optional code snippets after the @src tags
2021-09-14 12:09:59 +02:00
Leo Alt
e72fa7fc10
Add new info severity
2021-09-13 22:48:22 +02:00
chriseth
f957820351
Merge pull request #11913 from ethereum/source-location-parsing-extra-tests-and-regex-refactor
...
More generic source location parsing + more errors
2021-09-13 19:06:29 +02:00
Harikrishnan Mulackal
c8c6d30808
Merge pull request #11946 from ethereum/tests-userdefinedvaluetypes
...
UserDefinedValueType: test to validate zero-cost-abstraction claim.
2021-09-13 18:54:36 +02:00
hrkrshnn
4871017aae
Added an abi function test for UserDefinedValueType
...
A test to see if `abi.encode*(..., (CustomType))` and `abi.decode(..., (CustomType))` works as
intended.
2021-09-13 18:12:42 +02:00