Skip to content

feat: stop skipping the confromity tests #3824

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

Open
wants to merge 10 commits into
base: main
Choose a base branch
from

Conversation

arianejasuwienas
Copy link
Contributor

@arianejasuwienas arianejasuwienas commented Jun 5, 2025

Stop skipping the tests - make it clear what tests are skipped and for what reason (#3823)

Description:
This task aims to stop skipping tests and clearly document which tests are being skipped and why. After merging this PR, it will be possible to run the full suite of tests. However, some test cases will be overridden to reflect Hedera-specific behavior until dedicated tasks are completed to properly implement their required presets.

Note
This task also introduces code that deploys the smart contracts required to perform eth_call tests from the Ethereum Execution API test suite. Additionally, it updates the eth_call test cases so that their request and response bodies match the actual values and behavior observed on our network.

Related issue(s):

Fixes #3823

Notes for reviewer:

Checklist

  • Documented (Code comments, README, etc.)
  • Tested (unit, integration, etc.)

@arianejasuwienas arianejasuwienas self-assigned this Jun 5, 2025
@arianejasuwienas arianejasuwienas added the ArianeLabs Items ArianeLabs is contributing to label Jun 5, 2025
@arianejasuwienas arianejasuwienas added this to the 0.69.0 milestone Jun 5, 2025
@arianejasuwienas arianejasuwienas changed the title feat: stop skipping the tests - make it clear what tests are skipped … feat: stop skipping the confromity tests Jun 5, 2025
Copy link

github-actions bot commented Jun 5, 2025

Test Results

 22 files  + 2  315 suites  +59   21m 36s ⏱️ + 3m 30s
666 tests ± 0  660 ✅  -  1  5 💤 ±0  1 ❌ +1 
762 runs  +80  755 ✅ +78  5 💤 ±0  2 ❌ +2 

For more details on these failures, see this check.

Results for commit e42da44. ± Comparison against base commit 27bcc1c.

This pull request removes 421 and adds 421 tests. Note that renamed tests count towards both.
"eth_call" for non-existing contract address returns 0x ‑ RPC Server Acceptance Tests Acceptance tests @api-batch-3 RPC Server Acceptance Tests eth_call "eth_call" for non-existing contract address returns 0x
001 Should call pureMultiply ‑ RPC Server Acceptance Tests Acceptance tests @api-batch-3 RPC Server Acceptance Tests eth_call Caller contract With evm address 001 Should call pureMultiply
001 Should call pureMultiply ‑ RPC Server Acceptance Tests Acceptance tests @api-batch-3 RPC Server Acceptance Tests eth_call Caller contract With long-zero address 001 Should call pureMultiply
002 Should call msgSender ‑ RPC Server Acceptance Tests Acceptance tests @api-batch-3 RPC Server Acceptance Tests eth_call Caller contract With evm address 002 Should call msgSender
002 Should call msgSender ‑ RPC Server Acceptance Tests Acceptance tests @api-batch-3 RPC Server Acceptance Tests eth_call Caller contract With long-zero address 002 Should call msgSender
003 Should call txOrigin ‑ RPC Server Acceptance Tests Acceptance tests @api-batch-3 RPC Server Acceptance Tests eth_call Caller contract With evm address 003 Should call txOrigin
003 Should call txOrigin ‑ RPC Server Acceptance Tests Acceptance tests @api-batch-3 RPC Server Acceptance Tests eth_call Caller contract With long-zero address 003 Should call txOrigin
004 Should call msgSig ‑ RPC Server Acceptance Tests Acceptance tests @api-batch-3 RPC Server Acceptance Tests eth_call Caller contract With evm address 004 Should call msgSig
004 Should call msgSig ‑ RPC Server Acceptance Tests Acceptance tests @api-batch-3 RPC Server Acceptance Tests eth_call Caller contract With long-zero address 004 Should call msgSig
005 Should call addressBalance ‑ RPC Server Acceptance Tests Acceptance tests @api-batch-3 RPC Server Acceptance Tests eth_call Caller contract With evm address 005 Should call addressBalance
…
"eth_call" for non-existing contract address returns 0x ‑ RPC Server Acceptance Tests Acceptance tests @api-conformity @api-batch-3 RPC Server Acceptance Tests eth_call "eth_call" for non-existing contract address returns 0x
001 Should call pureMultiply ‑ RPC Server Acceptance Tests Acceptance tests @api-conformity @api-batch-3 RPC Server Acceptance Tests eth_call Caller contract With evm address 001 Should call pureMultiply
001 Should call pureMultiply ‑ RPC Server Acceptance Tests Acceptance tests @api-conformity @api-batch-3 RPC Server Acceptance Tests eth_call Caller contract With long-zero address 001 Should call pureMultiply
002 Should call msgSender ‑ RPC Server Acceptance Tests Acceptance tests @api-conformity @api-batch-3 RPC Server Acceptance Tests eth_call Caller contract With evm address 002 Should call msgSender
002 Should call msgSender ‑ RPC Server Acceptance Tests Acceptance tests @api-conformity @api-batch-3 RPC Server Acceptance Tests eth_call Caller contract With long-zero address 002 Should call msgSender
003 Should call txOrigin ‑ RPC Server Acceptance Tests Acceptance tests @api-conformity @api-batch-3 RPC Server Acceptance Tests eth_call Caller contract With evm address 003 Should call txOrigin
003 Should call txOrigin ‑ RPC Server Acceptance Tests Acceptance tests @api-conformity @api-batch-3 RPC Server Acceptance Tests eth_call Caller contract With long-zero address 003 Should call txOrigin
004 Should call msgSig ‑ RPC Server Acceptance Tests Acceptance tests @api-conformity @api-batch-3 RPC Server Acceptance Tests eth_call Caller contract With evm address 004 Should call msgSig
004 Should call msgSig ‑ RPC Server Acceptance Tests Acceptance tests @api-conformity @api-batch-3 RPC Server Acceptance Tests eth_call Caller contract With long-zero address 004 Should call msgSig
005 Should call addressBalance ‑ RPC Server Acceptance Tests Acceptance tests @api-conformity @api-batch-3 RPC Server Acceptance Tests eth_call Caller contract With evm address 005 Should call addressBalance
…
This pull request removes 5 skipped tests and adds 5 skipped tests. Note that renamed tests count towards both.
011 Should fail when calling msgValue with more value than available balance ‑ RPC Server Acceptance Tests Acceptance tests @api-batch-3 RPC Server Acceptance Tests eth_call Caller contract With evm address 011 Should fail when calling msgValue with more value than available balance
011 Should fail when calling msgValue with more value than available balance ‑ RPC Server Acceptance Tests Acceptance tests @api-batch-3 RPC Server Acceptance Tests eth_call Caller contract With long-zero address 011 Should fail when calling msgValue with more value than available balance
@release should execute "eth_sendRawTransaction" with Jumbo Transaction ‑ RPC Server Acceptance Tests Acceptance tests @sendRawTransactionExtension Acceptance Tests Jumbo Transaction @release should execute "eth_sendRawTransaction" with Jumbo Transaction
from/to Addresses in transaction to a contract (deployed through HAPI tx) are in evm and long-zero format ‑ RPC Server Acceptance Tests Acceptance tests @api-batch-2 RPC Server Acceptance Tests Formats of addresses in Transaction and Receipt results from/to Addresses in transaction to a contract (deployed through HAPI tx) are in evm and long-zero format
should not return contract bytecode after sefldestruct ‑ RPC Server Acceptance Tests Acceptance tests @api-batch-2 RPC Server Acceptance Tests eth_getCode should not return contract bytecode after sefldestruct
011 Should fail when calling msgValue with more value than available balance ‑ RPC Server Acceptance Tests Acceptance tests @api-conformity @api-batch-3 RPC Server Acceptance Tests eth_call Caller contract With evm address 011 Should fail when calling msgValue with more value than available balance
011 Should fail when calling msgValue with more value than available balance ‑ RPC Server Acceptance Tests Acceptance tests @api-conformity @api-batch-3 RPC Server Acceptance Tests eth_call Caller contract With long-zero address 011 Should fail when calling msgValue with more value than available balance
@release should execute "eth_sendRawTransaction" with Jumbo Transaction ‑ RPC Server Acceptance Tests Acceptance tests @api-conformity @sendRawTransactionExtension Acceptance Tests Jumbo Transaction @release should execute "eth_sendRawTransaction" with Jumbo Transaction
from/to Addresses in transaction to a contract (deployed through HAPI tx) are in evm and long-zero format ‑ RPC Server Acceptance Tests Acceptance tests @api-conformity @api-batch-2 RPC Server Acceptance Tests Formats of addresses in Transaction and Receipt results from/to Addresses in transaction to a contract (deployed through HAPI tx) are in evm and long-zero format
should not return contract bytecode after sefldestruct ‑ RPC Server Acceptance Tests Acceptance tests @api-conformity @api-batch-2 RPC Server Acceptance Tests eth_getCode should not return contract bytecode after sefldestruct

♻️ This comment has been updated with latest results.

@lfdt-bot
Copy link

lfdt-bot commented Jun 5, 2025

🎉 Snyk checks have passed. No issues have been found so far.

security/snyk check is complete. No issues have been found. (View Details)

license/snyk check is complete. No issues have been found. (View Details)

quiet-node
quiet-node previously approved these changes Jun 10, 2025
Copy link
Contributor

@quiet-node quiet-node left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool lgtm nice work!

Copy link
Contributor

@konstantinabl konstantinabl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some suggestions and questions left

currentBlockHash = await getLatestBlockHash();
});
//Reading the directories within the ethereum execution api repo
let directories = fs.readdirSync(directoryPath);
let directories = [...new Set([...fs.readdirSync(directoryPath), ...fs.readdirSync(overwritesDirectoryPath)])];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this line needed if in overwrites we always have directories that are anyways existing in the original directorypath in the execution-apis repo?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@konstantinabl It handles the case where there's an extra directory (containing a custom method not present in the OpenRPC API specification) in the overwrite directory that doesn't exist in the overwritten directory. It may not be necessary at this point, as it is not currently in use.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, got it

await processFileContent(directory, file, content);
});
}
const ls = (dir: string) => (fs.existsSync(dir) && fs.statSync(dir).isDirectory() ? fs.readdirSync(dir) : []);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we would benefit from some clarifications in the code here as well

quiet-node
quiet-node previously approved these changes Jun 13, 2025
@simzzz simzzz self-requested a review June 16, 2025 13:10
konstantinabl
konstantinabl previously approved these changes Jun 16, 2025
…and for what reason (#3823)

Signed-off-by: Mariusz Jasuwienas <mariusz.jasuwienas@arianelabs.com>
…and for what reason (#3823)

Signed-off-by: Mariusz Jasuwienas <mariusz.jasuwienas@arianelabs.com>
Signed-off-by: Mariusz Jasuwienas <mariusz.jasuwienas@arianelabs.com>
Signed-off-by: Mariusz Jasuwienas <mariusz.jasuwienas@arianelabs.com>
Signed-off-by: Mariusz Jasuwienas <mariusz.jasuwienas@arianelabs.com>
Signed-off-by: Mariusz Jasuwienas <mariusz.jasuwienas@arianelabs.com>
Signed-off-by: Mariusz Jasuwienas <mariusz.jasuwienas@arianelabs.com>
Signed-off-by: Mariusz Jasuwienas <mariusz.jasuwienas@arianelabs.com>
Signed-off-by: Mariusz Jasuwienas <mariusz.jasuwienas@arianelabs.com>
Signed-off-by: Mariusz Jasuwienas <mariusz.jasuwienas@arianelabs.com>
@arianejasuwienas arianejasuwienas force-pushed the 3823-enable-previously-skipped-confirmity-tests branch from 07cb39a to e42da44 Compare June 19, 2025 17:39
Copy link
Contributor

@quiet-node quiet-node left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

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

Successfully merging this pull request may close these issues.

Enable previously skipped conformity test case scenarios
7 participants