msquic
msquic copied to clipboard
Linux tests should cover more than Ubuntu Linux
Describe the bug
It seems like current test coverage only covers ubuntu-latest. The is problematic IMHO as OpenSSL differs on different distributions e.g. there is more than just OpenSSL 1.1 and 3.
We should probably cover at least following distributions as addition
- Centos 7 / Mariner 2 to cover OpenSSL fine FIPS mode (#3422)
- Alpine Linux - musl libc, different cipher setting (https://github.com/microsoft/msquic/issues/3448)
- preferably something like older version of Ubuntu or Debian e.gh. Ubuntu 18 to verify Quic work on older kernels (#3379 and perhaps others)
This probably does not need to be full set. Platforms tests + some basic coverage should be sufficient IMHO
One can also take inspiration from https://github.com/dotnet/core/blob/main/release-notes/7.0/supported-os.md
Affected OS
- [ ] Windows
- [X] Linux
- [ ] macOS
- [ ] Other (specify below)
Additional OS information
No response
MsQuic version
main
Steps taken to reproduce bug
run MsQuic on various linux distributions
Expected behavior
quic should load and function
Actual outcome
quic sometimes fails to load because of differences in OpenSSL library
Additional details
cc: @manickap @CarnaViire
We may also use this as an integration test platform between MsQuic and .NET. I've made some scripts to check the integration on minimalistic Docker images covering most of https://github.com/dotnet/core/blob/main/release-notes/8.0/supported-os.md -- the test installs the latest .NET daily build and MsQuic from packages.microsoft.com on Docker images and checks whether the lib at least loads to .NET properly (QuicConnection.IsSupported == true). It can be expanded to include some basic echo test.
I might be able to poke at this after we're done with .NET 8. I believe we wanted to have some integration testing within MsQuic CI pipeline even before, but we tried to approach it from a too complicated side.