-
Notifications
You must be signed in to change notification settings - Fork 573
Compatibility tests #1788
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
Compatibility tests #1788
Conversation
And of course the check's gonna fail. |
ab52048
to
321d234
Compare
It's even worse: apparently the |
solved it in the recent code: https://github.com/g1itch/PyBitmessage/runs/3182720003#step:8:70 |
0c2f1b6
to
4448900
Compare
5982784
to
6f4eb38
Compare
0f5c0cd
to
ba9ec7c
Compare
fbb6409
to
fe691a5
Compare
7e3eed7
to
f9d3aa6
Compare
f9d3aa6
to
a3a45a1
Compare
Maybe this shouldn't be called "Compatiblity tests" as most of it is network subsystem refactoring. Could you perhaps put the (smaller) protocol refactoring into a separate PR, and just keep this for the network subsystem? Then the protocol refactoring can be merged earlier and faster. |
maybe also "random" refactoring separately. |
I see, the rest of this branch is currently a complicated changeset merged from different branches with pretty controversial changes mixed with a few tests. I'm slowly reading the other part of the implementation in search of a pieces, which I can isolate clearly and cover by tests. Unsuccessfully so far. Maybe I'll rebase the branch, if I found a way to write cleaner set of tests for the significant portion of the protocol. But the overall idea of those "Compatiblity tests" is covering the protocol structures, excluding those related to crypto operations (the #1796 part). |
Yes, the random is probably closer to the refactoring of the crypto operations. But this particular approach is a bit problematic, so I don't merge those changes into the crypto branch and so far neither I see a way to isolate the related changes into a separate PR. So I'm going to rename the branch and replace it by the further changes when they are ready. |
Hello!
Let's introduce some simple compatibility tests, based on a sample data and well known values. I wish them to cover the implementations of all the functionality, defined in the protocol. So that an alternative implementation can take the samples to check it's compatibility.
It's also helpful for the ongoing python3 porting. Because most of the developers are not writing any tests. And I've already found a feature in
highlevelcrypto
module, which I don't yet understand, but I think that such incompatibilities is better to reveal soon. The test shows that not all the subset ofpyelliptic
is used inhighlevelcrypto
in compatible way with python3.