Commit Graph

6533 Commits

Author SHA1 Message Date
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