crytic / medusa

Parallelized, coverage-guided, mutational Solidity smart contract fuzzing, powered by go-ethereum
https://www.trailofbits.com/
GNU Affero General Public License v3.0
273 stars 33 forks source link

move the TestViewMethods config variable outside of the AssertionTesting structure #392

Open 0xalpharush opened 6 days ago

0xalpharush commented 6 days ago
          > > Additionally, I'm thinking if we move the TestViewMethods config variable outside of the AssertionTesting structure and put it in Testing. I'm thinking that testing view methods as a concept is more general than assertion testing or property testing. So maybe, we just push it up one level in the hierarchy. what do you think?

I understand this config to mean that assertion failures in constant methods will be treated as failure if assertion mode is enabled, but I see your point that this will affect the sequences generated for property mode as well. I suppose we could have CallViewMethods up one level and it enables assertion testing constant methods (if true) but also allows completely filtering out all view/pure methods (if false) in either mode.

We could capture this in an issue and decide this after merging and implementing filtering ( I want to replace #275 to be compatible with these changes and fix several bugs in its implementation)

Yeah I think this is fine for now and we can figure this out later

Originally posted by @anishnaik in https://github.com/crytic/medusa/issues/363#issuecomment-2203544087