Closed udoprog closed 4 years ago
Removed the tests for reading yaml
, toml
, and json
files from the filesystem because they complicated the build process for not a ton of benefit. For reference I'm building on Windows and running the shell script to generate the various representations is not straight forward.
serde's derives already do most of the heavy lifting. The one important part is probably just to check that the specific file formats remain unchanged in a separate serialize/deserialize test which doesn't use the filesystem.
It seems like you've also deleted a bunch of code having to do with saving configurations out, and the configuration format conversion application we had. Why?
I think it's because I dropped the tests as per https://github.com/aatxe/irc/pull/184#issuecomment-536191296 - I might've been too overzealous with deleting stuff as well so if you can tell me what I'll resurrect it. But I'll add tests which tests each format separately with files embedded in the test instead.
Do you still want to resurrect the config conversion utility in that case?
Yeah, I'm fine with killing the tests in favor of something that works more easily cross-platform, but I'd like to keep around the config conversion utility since it's just a useful quality of life tool if you decide to switch formats (and it's not like it has a very large maintenance burden associated with it).
Updated to futures-preview 0.3.0-alpha.19
and tokio-0.2.0-alpha.6
. Also removed the direct dependency to futures
in favor of more granular dependencies, all though futures-util-preview
is still a big one.
We also now build on beta.
So the most up-to-date branch that I'm working on is next, and I intend to try and incorporate these changes once this has been accepted. https://github.com/udoprog/irc/tree/next
Most notably, I've bumped the irc-proto
crate to the 2018 edition and switch error handling to thiserror
since it provides implementations of std::error::Error
which is much more future compatible.
Is this pull request still active?
@freddyb I'm still using it. But I'll bump it to the released tokio when I have the time. Still waiting for feedback from @aatxe though.
Bumped the branch to the stable tokio 0.2 now.
@aatxe any chance to get this merged? Most of the things are in place, and the things which are incomplete can be fixed incrementally in master before a release. Having this hanging for so long is somewhat taxing.
Sorry, this is a big change. But that's kinda expected :/
Related #182
Non-exhaustive list of changes:
ClientExt
in favor if tiny bit of duplication inClientState
and macros.Client
trait and renamedIrcClient
toClient
.PackedIrcClient
no longer exists.error::IrcError
toerror::Error
.ClientStream
drives the stream for outgoing messages by default, unless it has been taken from theClient
throughClient::outgoing
.Client::sender
, which uses the outgoing queue for sending messages.parking_lot
.#[tokio::main]
and tests to use#[tokio::test]
.TODO
Commented out configuration tests since I couldn't run them locally (Windows dev environment).