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