Skip to content

Add gRPC interop tests to our PR test suite #11064

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

Closed
JunTaoLuo opened this issue Jun 10, 2019 · 6 comments
Closed

Add gRPC interop tests to our PR test suite #11064

JunTaoLuo opened this issue Jun 10, 2019 · 6 comments
Assignees
Labels
area-grpc Includes: GRPC wire-up, templates Done This issue has been fixed

Comments

@JunTaoLuo
Copy link
Contributor

Investigate adding gRPC interop tests. These should not be mandatory.

@JunTaoLuo JunTaoLuo added the area-grpc Includes: GRPC wire-up, templates label Jun 10, 2019
@JamesNK JamesNK added this to the 3.0.0-preview7 milestone Jun 11, 2019
@Pilchie
Copy link
Member

Pilchie commented Aug 22, 2019

@JamesNK @JunTaoLuo I'm guessing this isn't happening for Preview 9 at this point?

@Pilchie Pilchie modified the milestones: 3.0.0-preview9, 3.0.0 Aug 28, 2019
@JamesNK
Copy link
Member

JamesNK commented Aug 28, 2019

@JunTaoLuo You're the best out of the two of us to do this one. Do you think you'll have time for it in the next couple of weeks?

@Pilchie
Copy link
Member

Pilchie commented Oct 31, 2019

@JamesNK started a mail thread about this, so assigning him. Moving to the 5.0.0-preview1 milestone as well.

@JamesNK
Copy link
Member

JamesNK commented Oct 31, 2019

Reasons

  1. Verify ASP.NET Core/Kestrel changes in the next .NET Core release aren't accidentally breaking gRPC
  2. Verify gRPC runs on HttpSys/IIS (note: grpc-dotnet build server is Linux only so not possible to test there)

2 is particularly important. HttpSys work is happening now and it takes a long time to get changes in Windows. If we need changes then we have to discover them now and tell the correct teams. The interop tests provide a cross-section of major functionality to double-check we're compatible. There are only about 20 tests, and they take about 10 seconds to run.

How

Run interop client against interop server to execute tests. In the official gRPC interop test environment the client is called from the command line. I think for our CI build we should just have a single parameterized unit test that will start the server, and create an InteropClient instance which is passed arguments for each test. That should work for Kestrel, and maybe HttpSys. Will need to investigate what to do for IIS functional testing.

The interop client and server are both small self-contained apps, and should rarely - if ever - change. We can just copy and paste them from grpc-dotnet into aspnetcore and make minor edits to them as needed (the grpc-dotnet versions themselves were copied from grpc/grpc).

@jkotalik jkotalik assigned JunTaoLuo and unassigned JamesNK Jan 13, 2020
@analogrelay analogrelay removed this from the 5.0.0-preview1 milestone Mar 11, 2020
@JunTaoLuo JunTaoLuo added the Done This issue has been fixed label Mar 21, 2020
@JunTaoLuo JunTaoLuo added this to the 5.0.0-preview3 milestone Mar 21, 2020
@Pilchie
Copy link
Member

Pilchie commented Mar 21, 2020

Reverted the change, so re-opening.

@Pilchie Pilchie reopened this Mar 21, 2020
@JunTaoLuo
Copy link
Contributor Author

This was re-added by #20069

@ghost ghost locked as resolved and limited conversation to collaborators Apr 26, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-grpc Includes: GRPC wire-up, templates Done This issue has been fixed
Projects
None yet
Development

No branches or pull requests

4 participants