[5.0 -> main] Disable EOS VM OC's subjective compilation limits in unit tests #1874
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When EOS VM OC is used in unit tests, contract actions are not dispatched until EOS VM OC has finished compilation. If a unit test violates EOS VM OC's subjective compilation limits, the unit test will fail. This is most notably problematic for EOS EVM because EOS EVM's exhaustive tests run afoul of OC's subjective limits. Another problem with OC's subjective limits are they prevent ASAN from being used, because ASAN's 16TB of virtual memory usage is flagged by OC's subjective limits.
This PR disables OC subjective limits:
cpu limits
,vm limits
,stack size limit
, andgenerated code size limit
in unit tests. It also adds unit tests to make sure limits to work properly.Merges
release/5.0
into main including #1843Resolves #1573