This repository demonstrates an issue with test coverage generation (forge coverage --zksync
) in the zkSync environment, where the regular EVM
is used instead of the expected zkEVM
.
The project contains a simple contract with one test that verifies the address of a deployed contract using CREATE
, and it shows that forge coverage --zksync
for zkSync runs using EVM
instead of zkEVM
.
To reproduce the issue, run the following commands:
- Run zkSync tests:
yarn test:zksync -vvvv
- Run zkSync test coverage:
The logs will show that the regular
yarn coverage:zksync -vvvv
EVM
is being used instead ofzkEVM
, andnew Empty()
created withEVM
.
In the logs above and in the screenshots of these logs, you can see that the regular EVM
is used in coverage mode instead of zkEVM
, demonstrating the issue.