-
Notifications
You must be signed in to change notification settings - Fork 6k
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
Semantic test infrastructure #5872
Conversation
Codecov Report
@@ Coverage Diff @@
## develop #5872 +/- ##
===========================================
- Coverage 88.59% 88.16% -0.44%
===========================================
Files 359 361 +2
Lines 34596 34774 +178
Branches 4089 4122 +33
===========================================
+ Hits 30651 30657 +6
- Misses 2581 2724 +143
- Partials 1364 1393 +29
|
077b788
to
db34d02
Compare
0fdfefc
to
83eb987
Compare
ad80816
to
f5fa62d
Compare
ac13d28
to
4e34426
Compare
4e34426
to
3e173ac
Compare
bda5619
to
9c97937
Compare
3e173ac
to
8db2dfa
Compare
9c97937
to
a10982e
Compare
8db2dfa
to
bde513d
Compare
a10982e
to
c9c4578
Compare
5a4e9e5
to
b5a8662
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Most of it looks good, but still, I think we should restructure it, so that only the result encoding is regenerated and the call and argument part is not touched at all (plus some minor other stuff).
test/tools/isoltest.cpp
Outdated
bool disableSMT = false; | ||
bool formatted = true; | ||
po::options_description options( | ||
R"(isoltest, tool for interactively managing test contracts. | ||
Usage: isoltest [Options] --testpath path | ||
Usage: isoltest [Options] --testpath path --ipcpath ipcpath |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Usage: isoltest [Options] --testpath path --ipcpath ipcpath | |
Usage: isoltest [Options] --testpath path {--ipcpath ipcpath, --no-ipc} |
Or [--ipcpath ipcpath]
in "optional brackets"?
Or just two lines (with or without repeating Usage:
):
Usage: isoltest [Options] --testpath path --ipcpath ipcpath
Usage: isoltest [Options] --testpath path --no-ipc
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we could follow the unix standard here and print:
Usage: isoltest [--testpath testpath] [--ipcpath ipcpath] [--no-ipc]
or
Usage: isoltest [--no-ipc] [--testpath testpath] [--ipcpath ipcpath]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually if we start guessing the ipcpath, then none of the options are particularly special and we could just leave it at Usage: isoltest [Options]
. In any case we can remove the --testpath testpath
part here - I think it's only in there as a relic from the time where it wasn't optional.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've gone with Usage: isoltest [Options] --ipcpath ipcpath
for now, since we're not guessing it, yet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that "guessing" code needs to be shared with soltest
, @Marenz what's your take on this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Saw this too late. But yeah, if they share command line parameters the defaults / handling should be shared
b5a8662
to
6ac44b9
Compare
6ac44b9
to
90289ee
Compare
Updated. This PR should now have all the features planned and can be reviewed again. Please note that all the test files have been updated by |
Ah, I did not squash on purpose yet, but will do when it's ready to be merged. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah - a lot of this needs to be touched again anyways to add more features and we can improve some details then - I'd say this is fine, once it's squashed!
56b9874
to
dacad62
Compare
// g(uint256,uint256): 1, -2 -> 3 | ||
// h(), 1 ether -> 1 | ||
// j() -> FAILURE | ||
// i() # Does not exist. # -> FAILURE # Reverts. # |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this correct? Why not -> FAILURE
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's what it says I think - The second #
marks the end of an inner-line-comment I think.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh I see!
Part of #4223 and based on #5860.
Adds infrastructure to the testing environment (
isoltest
and boost unit tests, as well), that allows to run file-based semantic tests.Checklist