Open anton-trunov opened 2 years ago
I'm a little worried about possible copyright issues when storing these contracts in our test suite. And it will also significantly increase the size of the repository (so CI will be slower and it may be inconvenient for users to clone the repository).
I think another use case for such a test is to detect false positives/false negatives of a static analyzer.
This could be done as a separate script, that could be run manually (or via CI), which shows, how the static analyzer warnings on a contract base are changed between two commits. We could use it before releasing a new version of Scilla or create some integration with CI, that prints changes in warnings between master
and the PR branch.
What do you think?
@jubnzv - I agree. We definitely oughtn't to store these in the test suite - it'll be enormous - but a tool to extract transitions from persistence and run the test might be useful (if we want reference data, we can store this hashed to avoid doing any copying).
Agreed re static analyzer - worth keeping in mind for when that is a possibility.
Seem fair?
Just to give more context on this:
A lot of contracts are very similar with a diff of only around 10 lines or so.
No chance of having this ready in time for v0.13. Moving to v0.14.
There are around 1000 more or less unique contracts deployed on the Zilliqa blockchain as of time of creating this issue. We should incorporate these into our test suite in some form.
Some thoughts on this issue:
scilla-runner
tests, ensuring we can replicate real-world contracts' behaviors when improving or fixing Scilla.