Skip to content

prepare to update the proxy to use std::future#473

Merged
hawkw merged 4 commits intomaster-tokio-0.2from
eliza/0.2-update
Apr 15, 2020
Merged

prepare to update the proxy to use std::future#473
hawkw merged 4 commits intomaster-tokio-0.2from
eliza/0.2-update

Conversation

@hawkw
Copy link
Contributor

@hawkw hawkw commented Apr 13, 2020

This branch begins a "top-down" update of the proxy to use
std::future. I've started by commenting out most of the stack, making
the proxy into a raw TCP forwarder/HTTP server that just always returns
200 OK <eof>. Then, I've updated the top-level serve function to use
std::future. This is pretty mechanical, but we may want to consider
doing some refactoring here in the future.

Currently, most of the integration tests are failing, since they test
functionality that is now commented out. I've added ignore attributes
temporarily to disable those tests. However, since we are ignoring the
tests rather than disabling them via conditional compilation, we will
still try to build them, so this ensures we don't accidentally break any
of these tests. There is a feature flag, "nyi", that can be enabled to
run the ignored tests, so that we can test if changes have made any
additional tests pass again. As functionality is re-enabled, we can
re-enable the corresponding tests as well.

hawkw added 2 commits April 13, 2020 08:52
@olix0r
Copy link
Member

olix0r commented Apr 13, 2020

How do you want to handle integration tests on this branch? I think our options are:

  • disable workflow in github
  • keep integration tests compiling (using feature flags?)

@hawkw
Copy link
Contributor Author

hawkw commented Apr 15, 2020

It would be good to keep checking that the tests compile though, even if we don't actually run them. Also, I think we'll want to be able to turn them back on incrementally as the relevant parts of the proxy are ported over. So I'm not sure if just turning off the integration workflow is really ideal? I think the right move would be to replace all the #[test] attributes in the integration tests with #[ignore] for now. That way, we the integration workflow will still compile them, and we can incrementally re-enable them. What do you think?

@hawkw
Copy link
Contributor Author

hawkw commented Apr 15, 2020

@olix0r okay, I think I've settled on a scheme for ignoring tests in 8eb6061. I've added #[ignore] attributes for all the tests that are currently failing. This will ensure that they still compile. I've also added a "nyi" feature flag that disables the #[ignore] attribute on these tests. That way, as changes are made, we can re-run the tests to see which ones are now passing, without having to change the test code, and we can then remove the #[ignore]s as functionality is re-enabled.

What do you think?

@olix0r
Copy link
Member

olix0r commented Apr 15, 2020

@hawkw that sounds reasonable

@hawkw hawkw marked this pull request as ready for review April 15, 2020 18:43
@hawkw hawkw changed the title begin updating the proxy to use std::future prepare to update the proxy to use std::future Apr 15, 2020
@hawkw hawkw requested a review from kleimkuhler April 15, 2020 18:47
Copy link
Contributor

@kleimkuhler kleimkuhler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@hawkw hawkw merged commit 6fcc144 into master-tokio-0.2 Apr 15, 2020
@olix0r olix0r deleted the eliza/0.2-update branch May 25, 2021 15:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants