Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[1.0] add BOOST_TEST_DEFAULTS_TO_CORE_DUMP to libtester users #626

Merged
merged 1 commit into from
Aug 23, 2024

Conversation

spoonincode
Copy link
Member

EOS VM within libtester needs to handle SIGSEGV. It's fine if other code using libtester chains their own SEGV handlers as well, but boost test by default completely takes over SIGSEGV and this prevents proper operation of EOS VM within libtester.

Previously inside of leap/spring we added --catch_system_errors=no to all ctest invocations of a boost unit test. This works but is a bit annoying because when running the test manually you need to also remember to manually pass --catch_system_errors=no or can experience problems. So instead AntelopeIO/leap#1849 does this globally by setting BOOST_TEST_DEFAULTS_TO_CORE_DUMP

But that doesn't change behavior for users of libtester and their native contract unit tests. They still would need to know to pass --catch_system_errors=no to get proper behavior from libtester and EOS VM. Oftentimes this doesn't matter because generally users of libtester aren't banging on wasm memory faults, but EOS EVM's tests did stumble on this problem recently. So let's add BOOST_TEST_DEFAULTS_TO_CORE_DUMP to any users of libtester so they do not need to know to --catch_system_errors=no.

Sending to 1.0 because of EOS EVM struggles here.

@spoonincode spoonincode merged commit f0edfa9 into release/1.0 Aug 23, 2024
36 checks passed
@spoonincode spoonincode deleted the disable_boosttestSEGV_libtester branch August 23, 2024 21:43
@heifner heifner added this to the Spring v1.0.0-rc3 milestone Aug 23, 2024
@ericpassmore
Copy link
Contributor

Note:start
group: STABILITY
category: TEST
summary: Improve integration testing by changing default SIGSEV handling.
Note:end

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants