You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm trying to move my test file out of the contracts folder (hardhat) and I'm finding a strange behavior.
When trying to run echidna with the following command, this strange behavior happens: echidna . echidna/TestSwapFactory.sol --contract TestSwapFactory
[2023-11-30 16:12:45.73] Compiling .... Done! (9.966298s)
[2023-11-30 16:12:55.75] Compiling echidna/TestSwapFactory.sol... Done! (0.335921s)
WARNING: more than one SourceCaches was found after compile. Only the first one will be used.
echidna: Given contract "TestSwapFactory" not found in given file
When running without the folder being specified as echidna . TestSwapFactory.sol --contract TestSwapFactory:
[2023-11-30 15:59:44.10] Compiling .... Done! (8.794308s)
[2023-11-30 15:59:52.94] Compiling TestSwapFactory.sol... Done! (0.109293s)
echidna: Couldn't compile given file
stdout:
stderr:
Traceback (most recent call last):
File "/opt/homebrew/bin/crytic-compile", line 8, in <module>
sys.exit(main())
^^^^^^
File "/opt/homebrew/Cellar/crytic-compile/0.3.5_1/libexec/lib/python3.12/site-packages/crytic_compile/__main__.py", line 221, in main
compilations = compile_all(**vars(args))
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/crytic-compile/0.3.5_1/libexec/lib/python3.12/site-packages/crytic_compile/crytic_compile.py", line 740, in compile_all
raise NotImplementedError()
NotImplementedError
We get NotImplementedError.
Although the cryptic-compile is working fine when specifying the folder as crytic-compile echidna/TestSwapFactory.sol, if I remove the �echdina folder by using�crytic-compile TestSwapFactory.sol, we receive a similar error just like echidna:
Traceback (most recent call last):
File "/opt/homebrew/bin/crytic-compile", line 8, in <module>
sys.exit(main())
^^^^^^
File "/opt/homebrew/Cellar/crytic-compile/0.3.5_1/libexec/lib/python3.12/site-packages/crytic_compile/__main__.py", line 221, in main
compilations = compile_all(**vars(args))
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/crytic-compile/0.3.5_1/libexec/lib/python3.12/site-packages/crytic_compile/crytic_compile.py", line 740, in compile_all
raise NotImplementedError()
NotImplementedError
The current file struct:
...
import "../contracts/SwapFactory.sol";
contract TestSwapFactory is SwapFactory {
...
}
I've seen the example on the Balancer repository and they managed to do it. I can only manage to work this out by putting the tests inside the contracts folder...
Even the minimal contract such as:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;
contract Test {}
Will reproduce the same problem described above.
The text was updated successfully, but these errors were encountered:
Since you're using hardhat, I'd recommend configuring such that the hardhat build command detects your contracts and fuzz tests. Then, you should be able to just run echidna . --contract TestSwapFactory in the root of the repo and not pass multiple directories/files. Lmk if this isn't enough to unblock you and we can get some help from the echidna maintainers
You're hitting the NotImplementedError bc of a regression (#531) which should be fixed shortly, but this means the arguments you're passing are not a file or subdirectory in the current working directory.
I'm trying to move my test file out of the
contracts
folder (hardhat) and I'm finding a strange behavior.When trying to run echidna with the following command, this strange behavior happens:
echidna . echidna/TestSwapFactory.sol --contract TestSwapFactory
When running without the folder being specified as
echidna . TestSwapFactory.sol --contract TestSwapFactory
:We get NotImplementedError.
Although the cryptic-compile is working fine when specifying the folder as
crytic-compile echidna/TestSwapFactory.sol
, if I remove the �echdina folder by using�crytic-compile TestSwapFactory.sol
, we receive a similar error just like echidna:The current file struct:
I've seen the example on the Balancer repository and they managed to do it. I can only manage to work this out by putting the tests inside the contracts folder...
Even the minimal contract such as:
Will reproduce the same problem described above.
The text was updated successfully, but these errors were encountered: