* Skip calling CLOG if logging is disabled
Adds an unnecessary dependency if logging is disabled anyway
* Fiox dist
* Remove ifdef
* Rename and merge function
* Fix build, move clog targets into folder
* Skip folder when not actually using clog
Co-authored-by: Nick Banks <nibanks@microsoft.com>
New performance driver is custom built specifically for performance, rather then using quicping.
Also will be compatible with server mode, and baseline support is part of this commit.
The CMake build currently is using old ways of setting build properties, such as globally setting flags and include directories
Doing this causes build maintenance issues, along with making supporting alternate setups more difficult.
By using standard methods where items are handled directly through targets, flow becomes much easier to follow.
* Switch CI flag to be explicit skip flags for debugging helper flags
Will help to default local builds to be identical to CI. However, some of these flags can affect debugging in certain cases, so a flag is needed to disable them.
* Remove CI flag
* Change clog to use a published nuget package
Much cleaner and easier to update. The executable now contains all the clog dependencies, and extracts them when we run --installDependencies
* Force disable logging for CMake versions older then 3.6
FindLTTngUST doesn't exist before 3.6.
I don't want to completely remove support for Ubuntu 16.04, so this will make it so that a build will work, just that logging will not.
* Add support for CMake install
Requires defining WIN32_LEAN_AND_MEAN in msquic.h, which is required anyway because of the include order. Also uses `__linux__` rather then an explicit QUIC_PLATFORM so no extra definitions are required to use the header file.
When the solution is opened in VS or another IDE that supports folders, the projects are grouped accordingly. This makes it much easier to find the specific project you're looking for
Adds testing of the platform layers, and fixes an issue in the OpenSSL hash calculation discovered by these tests.
Fixes#93
Co-authored-by: Nick Banks <nibanks@microsoft.com>
Completely refactors the Azure Pipelines CI to have separate build and test stages. This decouples the building from the testing. We can now easily build all architectures and TLS configurations we want, but only test those that are necessary.
This PR moves the etwlib to GitHub. Tristan is doing some WPA prototyping with our LTTng events and needs a externally built version of the lib to test it out.
This PR adds cross platform PowerShell (6 or 7) scripts for building, testing and logging. There is still a little left to do before it can be integrated into the Azure Pipeline, but that is the ultimate goal.
One big improvement of the test.ps1 script over calling the test program directly is that it will allow for collecting logs for each individual test case separately. The down side is that it significantly increases the execution time of the tests. I'm still hoping the time can be cut down some how.
Cleans up and onboards spinquic to CI.
Disabled v4 unreachable test on Windows.
Adds resumption test cases.
Adds resumption support for schannel.
Fixes some OACR warnings.
This PR updates tls_openssl.c to the newest OpenSSL APIs for QUIC. It also gets OpenSSL building with cmake.
Also contains a push of the latest internal code changes.
This PR integrates test support to Azure Pipeline builds, currently using stub TLS. Other TLS implementations will have tests come online in the future.
Updates the Linux logging story so that it can collect all the same logs as Windows (now including the ETW events). Also adds some info as to how to collect logs for a repro.
Updates the build files to CMake (instead of VS project files and Linux makefiles). Also adds googletest submodule for test dependency.
Corresponding internal PR: 3965727