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

forge's DAPP_TEST_ADDRESS == dapp's DAPP_TEST_CALLER #253

Closed
brockelmore opened this issue Dec 17, 2021 · 2 comments
Closed

forge's DAPP_TEST_ADDRESS == dapp's DAPP_TEST_CALLER #253

brockelmore opened this issue Dec 17, 2021 · 2 comments
Labels
T-bug Type: bug

Comments

@brockelmore
Copy link
Member

Related to #249, forge's DAPP_TEST_ADDRESS is really dapp's DAPP_TEST_ORIGIN/DAPP_TEST_CALLER. dapp's DAPP_TEST_ADDRESS is the address of the test contract not the caller.

Likely the fix for #249 should include this fix as well

@brockelmore brockelmore changed the title forge's DAPP_TEST_ADDRESS != dapp's DAPP_TEST_ADDRESS forge's DAPP_TEST_ADDRESS == dapp's DAPP_TEST_CALLER Dec 17, 2021
@brockelmore brockelmore added the T-bug Type: bug label Dec 17, 2021
gakonst added a commit that referenced this issue Jan 13, 2022
@gakonst
Copy link
Member

gakonst commented Jan 13, 2022

@onbjerg confirming that this is correct to be closed right?

@onbjerg
Copy link
Member

onbjerg commented Jan 13, 2022

Yes, this is correct

charisma98 added a commit to charisma98/foundry that referenced this issue Mar 4, 2023
* feat(fuzz): expose function to get internal evm

* refactor(evm): move EvmOpts from cli to evm-adapters

* feat(evm): add helper for creating sputnik backend

* feat(forge): add base evm opts for test usage

* feat(evm): derive default for EvmOpts

* test(forge): add utils for instantiating backend

* feat(forge): instantiate runner with EvmOpts instead of an EVM

This allows us to instantiate as many EVMs as we want inside of the runner,
which in turn will enable running tests in parallel

* feat(forge): pass evm by reference instead of using self.evm

* feat(forge): run unit tests with unique evm instantiation

previously we'd reuse the same EVM, now, we use a different EVM
per test, allowing us to get rid of the mutable reference on self

* feat(forge): run fuzz tests with unique evm instantiations

* test(forge): adjust tests to new instantiation style

* feat(forge): run tests in parallel with rayon

* feat(evm-adapters): put backend behind enum to avoid trait object

* chore(forge): move fuzzer instead of ref

* feat(forge): make multi contract runner compatible with new runner

* feat(forge): parallelize multi contract runner by file

* chore(cli): remove unused helper functions

* fix(cli/run): use new contract runner initialization

There's a TODO here around how we should do the evm.debug_calls check which we should figure out

* fix(cli/test): use evm_opts instead of directly passing evm

* chore: formatting fixes

* chore: update lockfile

* fix(evm-adapters): correctly init test caller and origin

fixes foundry-rs/foundry#249
fixes foundry-rs/foundry#253

* chore: clippy lint on unreachable code w disabled features

* fix: instantiate evm cfg without contract size limit

* fix debugging (#445)

* merge cleanup

Co-authored-by: brockelmore <[email protected]>
Co-authored-by: Brock <[email protected]>
0129general added a commit to 0129general/FoundryProject that referenced this issue May 8, 2024
* feat(fuzz): expose function to get internal evm

* refactor(evm): move EvmOpts from cli to evm-adapters

* feat(evm): add helper for creating sputnik backend

* feat(forge): add base evm opts for test usage

* feat(evm): derive default for EvmOpts

* test(forge): add utils for instantiating backend

* feat(forge): instantiate runner with EvmOpts instead of an EVM

This allows us to instantiate as many EVMs as we want inside of the runner,
which in turn will enable running tests in parallel

* feat(forge): pass evm by reference instead of using self.evm

* feat(forge): run unit tests with unique evm instantiation

previously we'd reuse the same EVM, now, we use a different EVM
per test, allowing us to get rid of the mutable reference on self

* feat(forge): run fuzz tests with unique evm instantiations

* test(forge): adjust tests to new instantiation style

* feat(forge): run tests in parallel with rayon

* feat(evm-adapters): put backend behind enum to avoid trait object

* chore(forge): move fuzzer instead of ref

* feat(forge): make multi contract runner compatible with new runner

* feat(forge): parallelize multi contract runner by file

* chore(cli): remove unused helper functions

* fix(cli/run): use new contract runner initialization

There's a TODO here around how we should do the evm.debug_calls check which we should figure out

* fix(cli/test): use evm_opts instead of directly passing evm

* chore: formatting fixes

* chore: update lockfile

* fix(evm-adapters): correctly init test caller and origin

fixes foundry-rs/foundry#249
fixes foundry-rs/foundry#253

* chore: clippy lint on unreachable code w disabled features

* fix: instantiate evm cfg without contract size limit

* fix debugging (#445)

* merge cleanup

Co-authored-by: brockelmore <[email protected]>
Co-authored-by: Brock <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T-bug Type: bug
Projects
None yet
Development

No branches or pull requests

3 participants