Adam Cox
03/29/2023, 8:46 AMconnection error: hyper::Error(Io, Custom { kind: BrokenPipe, error: "connection closed because of a broken pipe" })
If I run the tests with --test-threads=1
it never fails.
I have a feeling that its something to do with the plugin process already running and pact using it for all concurrent tests. Then it is being shut down before one of the tests has finished but I am not sure if that is the case or not and I am having a tough time debugging it.
Any help would be appreciated. Not sure if this is better in #C047TCR7B6W or #CA2S7E6KC, I guess that depends on what the problem turns out to be š¤Adam Cox
03/29/2023, 2:18 PMuglyog
When I am on a Teams call my CPU is slowed and there seems to be no issueHuh! That's the first time I have ever heard of Teams being useful š¤£
uglyog
uglyog
Adam Cox
03/30/2023, 9:01 AMAdam Cox
03/30/2023, 9:05 AMAdam Cox
03/30/2023, 9:13 AMAdam Cox
03/30/2023, 2:35 PMAdam Cox
03/30/2023, 2:36 PMuglyog
uglyog
Closed
and the remaining tests can't interact with the plugin process. This seems to be all on the client side, as if there is a single HTTP2 client being shared.uglyog
uglyog
2023-03-30T09:02:47.517919Z TRACE Connection{peer=Client}:poll:FramedWrite::buffer{frame=GoAway { error_code: NO_ERROR, last_stream_id: StreamId(0) }}: h2::frame::go_away: encoding GO_AWAY; code=NO_ERROR
2023-03-30T09:02:47.517960Z TRACE Connection{peer=Client}:poll:FramedWrite::buffer{frame=GoAway { error_code: NO_ERROR, last_stream_id: StreamId(0) }}: h2::codec::framed_write: encoded go_away rem=17
2023-03-30T09:02:47.517970Z TRACE tonic::transport::service::reconnect: poll_ready; idle
2023-03-30T09:02:47.518011Z TRACE tonic::transport::service::reconnect: poll_ready; connecting
2023-03-30T09:02:47.518008Z DEBUG Connection{peer=Client}:poll: h2::proto::connection: Connection::poll; connection error error=GoAway(b"", NO_ERROR, Library)
2023-03-30T09:02:47.518035Z TRACE hyper::client::connect::http: Http::connect; scheme=Some("http"), host=Some("127.0.0.1"), port=Some(Port(51856))
2023-03-30T09:02:47.518048Z TRACE Connection{peer=Client}:poll: h2::proto::connection: -> already going away
2023-03-30T09:02:47.518096Z DEBUG hyper::client::connect::http: connecting to 127.0.0.1:51856
2023-03-30T09:02:47.518090Z TRACE Connection{peer=Client}:poll: h2::proto::connection: connection.state=Closing(NO_ERROR, Library)
2023-03-30T09:02:47.518126Z TRACE Connection{peer=Client}:poll: h2::proto::connection: connection closing after flush
uglyog
h2::proto::connection: -> already going away
uglyog
uglyog
cargo update
to make sure you have all the latest crates.uglyog
uglyog
Adam Cox
03/31/2023, 8:13 AMAdam Cox
03/31/2023, 8:14 AMAdam Cox
03/31/2023, 8:14 AMAdam Cox
04/03/2023, 9:33 AMAdam Cox
04/03/2023, 2:40 PMuglyog
uglyog
uglyog
uglyog
Adam Cox
04/05/2023, 8:18 AMHandle::current().spawn()
For each test or something like that?
Is there a way this could impact a user when running a multiple contract tests in their unit test suite? I would think so. So is it possible for us to fix this in the plugin/driver side to prevent users from having to write tests a certain way?uglyog