When running Python unit tests with tox, you might see the following errors:
C:\Program Files\dotnet\sdk\2.0.0\NuGet.targets(466,5): error : Value cannot be null.
C:\Program Files\dotnet\sdk\2.0.0\NuGet.targets(466,5): error : Parameter name: path1
System.ArgumentNullException: Value cannot be null.
Parameter name: path1
at System.IO.Path.Combine(String path1, String path2)
at Microsoft.DotNet.Configurer.CliFallbackFolderPathCalculator.get_DotnetUserProfileFolderPath()
at Microsoft.DotNet.Configurer.FirstTimeUseNoticeSentinel..ctor(CliFallbackFolderPathCalculator cliFallbackFolderPathCalculator)
at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, ITelemetry telemetryClient)
at Microsoft.DotNet.Cli.Program.Main(String[] args)
That is happening because all environment variables are not passed to tox by default.
Open tox.ini
and add the passenv = APPDATA ProgramFiles USERPROFILE
line:
[testenv]
setenv =
PYTHONPATH = {toxinidir}
commands =
python setup.py test
passenv = APPDATA ProgramFiles USERPROFILE
Rerun tox
and you should be good.