Running Windows Unit tests for Kubernetes on Windows
Most of the kubernetes build tooling doesn’t work on Windows but we do have unit tests written for Windows components. These unit tests must run on a Windows machine. So how do you run them if the build tooling doesn’t work?
Manually
From a Windows machine you can manually run them:
go test . -mod=mod -run listContainerNetworkStats
If you want to build build them on Linux then run them on Windows.
On Linux, cd
to the folder where your tests are and build a test executable:
cd pkg\kubelet\stats\
GOOS=windows go test -c .
Then on Windows, the test executable can then be run (where listContainerNetworkStats
is the name of the test to focus on):
#copy test executable to windows and run:
stats.test.exe -test.run listContainerNetworkStats
Goland
To enable running them in Goland on Windows:
Then you can run the test (and debug!) via the UI.
VSCode
To enable running them in VS Code on Windows add the following to your settings file. It has to be done in the file and as of the writing can’t be configured in the UI.
{
"go.testFlags": [
"-mod=mod"
]
}
Then you can run the test (and debug!) via the UI.
Comments