[EXTERNAL] Re: [edk2-devel] Do the edk2 CI unit tests work in Linux?

Sean spbrogan at outlook.com
Wed Jul 7 18:54:55 UTC 2021


Steven,

Yes, Pytools is cross platform and is used regularly on Linux.

Generally mono has been the problem on Linux.  Ideally we could move to 
a native Linux package manager to make this have fewer dependencies but 
for now can you try following the directions here on getting mono setup.

https://github.com/tianocore/edk2-pytool-extensions/blob/master/docs/usability/using_extdep.md#a-note-on-nuget-on-linux

That said I have not heard of users using nuget proxy features so that 
could be an untested path.  Definitely want to help get this resolved 
for you.

Thanks
Sean






On 7/2/2021 12:23 AM, Steven Shi wrote:
> Bret,
> For my failure of  "Unable to load the service index for source...", I see it might be the Nuget proxy setting issue: https://stackoverflow.com/questions/41185443/nuget-connection-attempt-failed-unable-to-load-the-service-index-for-source. I tried to set the Nuget https_proxy and http_proxy as below, but it still does not work. Do you know how to set the Nuget Proxy in Pytool?
> 
> (unit_test_env) jshi19 at ub2-uefi-b01:~/wksp_efi/edk2-2$ mono /home/jshi19/wksp_efi/unit_test_env/lib/python3.8/site-packages/edk2toolext/bin/NuGet.exe config -set https_proxy=http://xxx:xxxx@xxxx.intel.com:xxx
> (unit_test_env) jshi19 at ub2-uefi-b01:~/wksp_efi/edk2-2$ mono /home/jshi19/wksp_efi/unit_test_env/lib/python3.8/site-packages/edk2toolext/bin/NuGet.exe config -set http_proxy=http://xxx:xxxx@xxxx.intel.com:xxx
> (unit_test_env) jshi19 at ub2-uefi-b01:~/wksp_efi/edk2-2$ mono /home/jshi19/wksp_efi/unit_test_env/lib/python3.8/site-packages/edk2toolext/bin/NuGet.exe install edk2-acpica-iasl -Source https://pkgs.dev.azure.com/projectmu/acpica/_packaging/mu_iasl/nuget/v3/index.json -ExcludeVersion -NonInteractive -Version 20200717.0.0 -Verbosity detailed -OutputDirectory "/home/jshi19/wksp_efi/edk2-2/BaseTools/Bin/edk2-acpica-iasl_extdep_temp"
> NuGet Version: 5.3.1.6268
> Feeds used:
>    https://pkgs.dev.azure.com/projectmu/acpica/_packaging/mu_iasl/nuget/v3/index.json
> Attempting to gather dependency information for package 'edk2-acpica-iasl.20200717.0.0' with respect to project '/home/jshi19/wksp_efi/edk2-2/BaseTools/Bin/edk2-acpica-iasl_extdep_temp', targeting 'Any,Version=v0.0'
> Unable to load the service index for source https://pkgs.dev.azure.com/projectmu/acpica/_packaging/mu_iasl/nuget/v3/index.json.
>    GSSAPI operation failed with error - Unspecified GSS failure.  Minor code may provide more information (SPNEGO cannot find mechanisms to negotiate).
> System.InvalidOperationException: Unable to load the service index for source https://pkgs.dev.azure.com/projectmu/acpica/_packaging/mu_iasl/nuget/v3/index.json. ---> NuGet.Protocol.Core.Types.FatalProtocolException: Unable to load the service index for source https://pkgs.dev.azure.com/projectmu/acpica/_packaging/mu_iasl/nuget/v3/index.json. ---> System.ComponentModel.Win32Exception: GSSAPI operation failed with error - Unspecified GSS failure.  Minor code may provide more information (SPNEGO cannot find mechanisms to negotiate).
>    at System.Net.NTAuthentication.GetOutgoingBlob (System.Byte[] incomingBlob, System.Boolean throwOnError, System.Net.SecurityStatusPal& statusCode) [0x00258] in <a85c1a570f9a4f9f9c3d2cfa5504e34f>:0
>    at System.Net.NTAuthentication.GetOutgoingBlob (System.String incomingBlob) [0x00045] in <a85c1a570f9a4f9f9c3d2cfa5504e34f>:0
> 
> Thanks
> 
> Steven Shi
> Intel\IAGS\SFP\FIA (Firmware Infrastructure Automation)
> 
> 
> From: devel at edk2.groups.io <devel at edk2.groups.io> On Behalf Of Steven Shi
> Sent: Friday, July 2, 2021 10:44 AM
> To: Rebecca Cran <rebecca at bsdio.com>; devel at edk2.groups.io; Bret Barkelew <Bret.Barkelew at microsoft.com>; rebecca at nuviainc.com
> Subject: Re: [EXTERNAL] Re: [edk2-devel] Do the edk2 CI unit tests work in Linux?
> 
> Thank you to Rebecca. After install the libmono-system-net-http4.0-cil and mono-devel pkg as below, the 'mono /home/jshi19/wksp_efi/unit_test_env/lib/python3.8/site-packages/edk2toolext/bin/NuGet.exe locals global-packages -list' pass.
> (unit_test_env) jshi19 at ub2-uefi-b01:~/wksp_efi/edk2-2$ sudo apt-get install libmono-system-net-http4.0-cil
> (unit_test_env) jshi19 at ub2-uefi-b01:~/wksp_efi/edk2-2$ sudo apt-get install mono-devel
> 
> But now there are new failures show up when install edk2-acpica-iasl:
> (unit_test_env) jshi19 at ub2-uefi-b01:~/wksp_efi/edk2-2$ stuart_update -c .pytool/CISettings.py TOOL_CHAIN_TAG=GCC5 -v
> ... ...
> INFO - Cmd to run is: mono /home/jshi19/wksp_efi/unit_test_env/lib/python3.8/site-packages/edk2toolext/bin/NuGet.exe locals global-packages -list
> INFO - Cmd to run is: mono /home/jshi19/wksp_efi/unit_test_env/lib/python3.8/site-packages/edk2toolext/bin/NuGet.exe locals global-packages -list
> INFO - ------------------------------------------------
> INFO - ------------------------------------------------
> INFO - --------------Cmd Output Starting---------------
> INFO - --------------Cmd Output Starting---------------
> INFO - ------------------------------------------------
> INFO - ------------------------------------------------
> ...INFO - global-packages: /home/jshi19/.nuget/packages/
> INFO - global-packages: /home/jshi19/.nuget/packages/
> INFO - ------------------------------------------------
> INFO - --------------Cmd Output Finished---------------
> INFO - ------------------------------------------------
> INFO - --------- Running Time (mm:ss): 00:00 ----------
> INFO - --------------Cmd Output Finished---------------
> INFO - ----------- Return Code: 0x00000000 ------------
> INFO - --------- Running Time (mm:ss): 00:00 ----------
> INFO - ------------------------------------------------
> INFO - ----------- Return Code: 0x00000000 ------------
> INFO - Could not determine Nuget global packages cache location.
> INFO - ------------------------------------------------
> INFO - Cmd to run is: mono /home/jshi19/wksp_efi/unit_test_env/lib/python3.8/site-packages/edk2toolext/bin/NuGet.exe install edk2-acpica-iasl -Source https://pkgs.dev.azure.com/projectmu/acpica/_packaging/mu_iasl/nuget/v3/index.json -ExcludeVersion -NonInteractive -Version 20200717.0.0 -Verbosity detailed -OutputDirectory "/home/jshi19/wksp_efi/edk2-2/BaseTools/Bin/edk2-acpica-iasl_extdep_temp"
> INFO - Could not determine Nuget global packages cache location.
> INFO - ------------------------------------------------
> INFO - --------------Cmd Output Starting---------------
> INFO - Cmd to run is: mono /home/jshi19/wksp_efi/unit_test_env/lib/python3.8/site-packages/edk2toolext/bin/NuGet.exe install mu_nasm -Source https://api.nuget.org/v3/index.json -ExcludeVersion -NonInteractive -Version 2.15.05 -Verbosity detailed -OutputDirectory "/home/jshi19/wksp_efi/edk2-2/BaseTools/Bin/mu_nasm_extdep_temp"
> INFO - ------------------------------------------------
> INFO - ------------------------------------------------
> INFO - --------------Cmd Output Starting---------------
> INFO - ------------------------------------------------
> INFO - NuGet Version: 5.3.1.6268
> INFO - NuGet Version: 5.3.1.6268
> INFO - Feeds used:
> INFO -   https://api.nuget.org/v3/index.json
> INFO -
> INFO -
> INFO -
> INFO - Feeds used:
> INFO -   https://pkgs.dev.azure.com/projectmu/acpica/_packaging/mu_iasl/nuget/v3/index.json
> INFO -
> INFO - Attempting to gather dependency information for package 'mu_nasm.2.15.5' with respect to project '/home/jshi19/wksp_efi/edk2-2/BaseTools/Bin/mu_nasm_extdep_temp', targeting 'Any,Version=v0.0'
> INFO -
> INFO -
> INFO - Attempting to gather dependency information for package 'edk2-acpica-iasl.20200717.0.0' with respect to project '/home/jshi19/wksp_efi/edk2-2/BaseTools/Bin/edk2-acpica-iasl_extdep_temp', targeting 'Any,Version=v0.0'
> INFO - Unable to load the service index for source https://pkgs.dev.azure.com/projectmu/acpica/_packaging/mu_iasl/nuget/v3/index.json.
> INFO -   GSSAPI operation failed with error - An invalid name was supplied (Configuration file does not specify default realm).
> INFO - System.InvalidOperationException: Unable to load the service index for source https://pkgs.dev.azure.com/projectmu/acpica/_packaging/mu_iasl/nuget/v3/index.json. ---> NuGet.Protocol.Core.Types.FatalProtocolException: Unable to load the service index for source https://pkgs.dev.azure.com/projectmu/acpica/_packaging/mu_iasl/nuget/v3/index.json. ---> System.ComponentModel.Win32Exception: GSSAPI operation failed with error - An invalid name was supplied (Configuration file does not specify default realm).
> INFO -   at System.Net.Security.NegotiateStreamPal.AcquireCredentialsHandle (System.String package, System.Boolean isServer, System.Net.NetworkCredential credential) [0x000a3] in <a85c1a570f9a4f9f9c3d2cfa5504e34f>:0
> ... ...
> 
> Thanks
> 
> Steven Shi
> Intel\IAGS\SFP\FIA (Firmware Infrastructure Automation)
> 
> 
> From: Rebecca Cran <rebecca at bsdio.com<mailto:rebecca at bsdio.com>>
> Sent: Friday, July 2, 2021 10:00 AM
> To: devel at edk2.groups.io<mailto:devel at edk2.groups.io>; Shi, Steven <steven.shi at intel.com<mailto:steven.shi at intel.com>>; Bret Barkelew <Bret.Barkelew at microsoft.com<mailto:Bret.Barkelew at microsoft.com>>; rebecca at nuviainc.com<mailto:rebecca at nuviainc.com>
> Subject: Re: [EXTERNAL] Re: [edk2-devel] Do the edk2 CI unit tests work in Linux?
> 
> 
> That means you need to install the various mono assemblies, such as the libmono-system-net-http4.0-cil package in Ubuntu.
> 
> I spent some time chasing down the dependencies last year which got very frustrating and tedious, but have forgotten which were needed. All I remember is there were quite a lot.
> 
> 
> 
> --
> Rebecca Cran
> 
> 
> On 7/1/21 7:36 PM, Steven Shi wrote:
> I already installed mono, but NuGet.exe still fails to work in my side. I'm behind a proxy but don't know how to configure the NuGet.exe proxy in .pytool. Below is my verbose error message.
> 
> (unit_test_env) jshi19 at ub2-uefi-b01:~/wksp_efi/edk2-2$ stuart_update -c .pytool/CISettings.py TOOL_CHAIN_TAG=GCC5 -v
> ... ...
> SECTION - Start Invocable Tool
> SECTION - Initial update of environment
> DEBUG - --- self_describing_environment.update_extdeps()
> DEBUG - Verify 'mu_nasm' returning 'False'.
> DEBUG - Verify 'edk2-acpica-iasl' returning 'False'.
> DEBUG - Creating 5 threads for the SDE update
> UpdatingDEBUG - Verify 'gcc_aarch64_linux' returning 'True'.
> DEBUG - Verify 'gcc_riscv64_unknown' returning 'True'.
> DEBUG - Verify 'mu_nasm' returning 'False'.
> DEBUG - Verify 'gcc_arm_linux' returning 'True'.
> DEBUG - Verify 'edk2-acpica-iasl' returning 'False'.
> DEBUG - Cleaning dependency directory for 'mu_nasm'...
> DEBUG - Cleaning dependency directory for 'edk2-acpica-iasl'...
> INFO - Cmd to run is: mono /home/jshi19/wksp_efi/unit_test_env/lib/python3.8/site-packages/edk2toolext/bin/NuGet.exe locals global-packages -list
> INFO - Cmd to run is: mono /home/jshi19/wksp_efi/unit_test_env/lib/python3.8/site-packages/edk2toolext/bin/NuGet.exe locals global-packages -list
> INFO - ------------------------------------------------
> INFO - ------------------------------------------------
> INFO - --------------Cmd Output Starting---------------
> INFO - --------------Cmd Output Starting---------------
> INFO - ------------------------------------------------
> INFO - ------------------------------------------------
> ...INFO - Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
> INFO -   Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
> INFO -   Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
> INFO -   Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
> INFO -   Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
> INFO - System.AggregateException: One or more errors occurred. (Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.) (Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.) (Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.) (Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.) (Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.) ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
> INFO -    --- End of inner exception stack trace ---
> ... ...
> 
> 
> If I run the Cmd manually, I get below error:
> (unit_test_env) jshi19 at ub2-uefi-b01:~/wksp_efi/edk2-2$ mono /home/jshi19/wksp_efi/unit_test_env/lib/python3.8/site-packages/edk2toolext/bin/NuGet.exe locals global-packages -list
> Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
>    Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
>    Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
>    Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
>    Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
> System.AggregateException: One or more errors occurred. (Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.) (Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.) (Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.) (Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.) (Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.) ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
>     --- End of inner exception stack trace ---
>    at NuGet.CommandLine.Program.Initialize (NuGet.IFileSystem fileSystem, NuGet.CommandLine.IConsole console) [0x000ce] in <ff502667b3fe4a85827635c6fe6b0d0d>:0
>    at NuGet.CommandLine.Program.MainCore (System.String workingDirectory, System.String[] args) [0x000d8] in <ff502667b3fe4a85827635c6fe6b0d0d>:0
> ---> (Inner Exception #0) System.IO.FileNotFoundException: Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
> File name: 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'<---
> 
> ---> (Inner Exception #1) System.IO.FileNotFoundException: Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
> File name: 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'<---
> 
> ---> (Inner Exception #2) System.IO.FileNotFoundException: Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
> File name: 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'<---
> 
> ---> (Inner Exception #3) System.IO.FileNotFoundException: Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
> File name: 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'<---
> 
> ---> (Inner Exception #4) System.IO.FileNotFoundException: Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
> File name: 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'<---
> 
> 
> Thanks
> 
> Steven Shi
> 
> 
> From: Bret Barkelew <Bret.Barkelew at microsoft.com><mailto:Bret.Barkelew at microsoft.com>
> Sent: Friday, July 2, 2021 9:04 AM
> To: Shi, Steven <steven.shi at intel.com><mailto:steven.shi at intel.com>; devel at edk2.groups.io<mailto:devel at edk2.groups.io>; rebecca at nuviainc.com<mailto:rebecca at nuviainc.com>
> Subject: RE: [EXTERNAL] Re: [edk2-devel] Do the edk2 CI unit tests work in Linux?
> 
> I believe the Azure DevOps build agents that are used by the EDK2 CI pipeline already have mono installed.
> 
> - Bret
> 
> From: Shi, Steven<mailto:steven.shi at intel.com>
> Sent: Thursday, July 1, 2021 5:54 PM
> To: devel at edk2.groups.io<mailto:devel at edk2.groups.io>; Bret Barkelew<mailto:Bret.Barkelew at microsoft.com>; rebecca at nuviainc.com<mailto:rebecca at nuviainc.com>
> Subject: RE: [EXTERNAL] Re: [edk2-devel] Do the edk2 CI unit tests work in Linux?
> 
> Hi Bret, Rebecca,
> Thanks for the info. Does edk2 CI run the .pytool unit tests in Linux? If yes, how does edk2 CI solve the nuget dependency problem in Linux right now?
> 
> 
> Thanks
> 
> Steven Shi
> 
> 
> From: devel at edk2.groups.io<mailto:devel at edk2.groups.io> <devel at edk2.groups.io<mailto:devel at edk2.groups.io>> On Behalf Of Bret Barkelew via groups.io
> Sent: Wednesday, June 30, 2021 1:02 AM
> To: devel at edk2.groups.io<mailto:devel at edk2.groups.io>; rebecca at nuviainc.com<mailto:rebecca at nuviainc.com>; Shi, Steven <steven.shi at intel.com<mailto:steven.shi at intel.com>>
> Subject: Re: [EXTERNAL] Re: [edk2-devel] Do the edk2 CI unit tests work in Linux?
> 
> Hmmm. If that works well, we might be able to investigate carrying both and picking based on the host OS.
> 
> - Bret
> 
> From: devel at edk2.groups.io<mailto:devel at edk2.groups.io> <devel at edk2.groups.io<mailto:devel at edk2.groups.io>> on behalf of Rebecca Cran via groups.io <rebecca=nuviainc.com at groups.io<mailto:rebecca=nuviainc.com at groups.io>>
> Sent: Tuesday, June 29, 2021 9:42:41 AM
> To: devel at edk2.groups.io<mailto:devel at edk2.groups.io> <devel at edk2.groups.io<mailto:devel at edk2.groups.io>>; steven.shi at intel.com<mailto:steven.shi at intel.com> <steven.shi at intel.com<mailto:steven.shi at intel.com>>
> Subject: [EXTERNAL] Re: [edk2-devel] Do the edk2 CI unit tests work in Linux?
> 
> 
> Your Linux distribution should have a nuget package available (e.g. https://packages.ubuntu.com/hirsute/nuget<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpackages.ubuntu.com%2Fhirsute%2Fnuget&data=04%7C01%7Cbret.barkelew%40microsoft.com%7C28bf7b813a9a4d6e365508d93cf3fd8a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637607840913328150%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Z7vCN9JUmx1kQks%2FuWKjcnMRo7koWoyxOET0bnSbN6U%3D&reserved=0>) but the EDK2 CI is designed to use the copy of nuget installed with the edk2toolext package.
> 
> 
> 
> --
> Rebecca Cran
> 
> 
> On 6/29/21 9:44 AM, Steven Shi wrote:
> 
> Cran, Thanks. I'm curious whether the .pytool has native Linux executable binary to run? It looks the edk2 CI framework has more dependency in Linux than Windows.
> 
> 
> 
> 
> 
> Thanks
> 
> 
> 
> Steven Shi
> 
> Intel\IAGS\SFP\FIA (Firmware Infrastructure Automation)
> 
> 
> 
> 
> 
> From: devel at edk2.groups.io<mailto:devel at edk2.groups.io> <devel at edk2.groups.io><mailto:devel at edk2.groups.io> On Behalf Of Rebecca Cran
> Sent: Tuesday, June 29, 2021 8:13 PM
> To: devel at edk2.groups.io<mailto:devel at edk2.groups.io>; Shi, Steven <steven.shi at intel.com><mailto:steven.shi at intel.com>
> Subject: Re: [edk2-devel] Do the edk2 CI unit tests work in Linux?
> 
> 
> 
> NuGet.exe is a .NET assembly/executable, so on Linux you'll need to install Mono (https://www.mono-project.com/<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.mono-project.com%2F&data=04%7C01%7Cbret.barkelew%40microsoft.com%7C28bf7b813a9a4d6e365508d93cf3fd8a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637607840913338106%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=uPkpInnWMx%2FP35GUXlbffQwxbLya9DDDegyLJvtuScU%3D&reserved=0>).
> 
> 
> 
> --
> 
> Rebecca Cran
> 
> 
> 
> 
> 
> On 6/28/21 7:45 PM, Steven Shi wrote:
> 
> Hello,
> 
> I'm interested in the edk2 CI unit tests(https://github.com/tianocore/edk2/tree/master/.pytool<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2%2Ftree%2Fmaster%2F.pytool&data=04%7C01%7Cbret.barkelew%40microsoft.com%7C28bf7b813a9a4d6e365508d93cf3fd8a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637607840913338106%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=v%2FqnYohY9bDCIAC8ZmqPkV3RvhaIuyQEXfkY9JNyIqs%3D&reserved=0>). I tested it in my local. It works well in Windows but does not work in Linux. It looks the NuGet in pytool only has windows version (C:\steven\unit_test_env\Lib\site-packages\edk2toolext\bin\NuGet.exe) but not support the Linux. Below is my detail test steps. Do the edk2 CI unit tests work in Linux?
> 
> 
> 
>    1.  Windows :
> 
> c:\steven>py -m venv unit_test_env
> 
> c:\steven>cd  c:\steven\edk2
> 
> c:\steven\edk2>c:\steven\unit_test_env\Scripts\activate.bat
> 
> (unit_test_env) c:\steven\edk2>pip install --upgrade -r pip-requirements.txt
> 
> (unit_test_env) c:\steven\edk2>stuart_setup -c .pytool/CISettings.py TOOL_CHAIN_TAG=VS2019
> 
> (unit_test_env) c:\steven\edk2>stuart_update -c .pytool/CISettings.py TOOL_CHAIN_TAG=VS2019
> 
> (unit_test_env) c:\steven\edk2>edksetup.bat
> 
> (unit_test_env) c:\steven\edk2>edksetup.bat Rebuild
> 
> (unit_test_env) c:\steven\edk2>stuart_ci_build -c .pytool/CISettings.py TOOL_CHAIN_TAG=VS2019 -a X64,IA32 -t DEBUG --verbose
> 
> ...
> 
> PROGRESS - Overall Build Status: Success
> 
> SECTION - Summary
> 
> PROGRESS - Success
> 
> 
> 
>    1.  Linux:
> 
> jshi19 at ub2-uefi-b01:~/wksp_efi$ python3 -m venv unit_test_env
> 
> jshi19 at ub2-uefi-b01:~/wksp_efi$ source unit_test_env/bin/activate
> 
> (unit_test_env) jshi19 at ub2-uefi-b01:~/wksp_efi/edk2-2$ pip install --upgrade -r pip-requirements.txt
> 
> (unit_test_env) jshi19 at ub2-uefi-b01:~/wksp_efi/edk2-2$ make -C BaseTools/
> 
> (unit_test_env) jshi19 at ub2-uefi-b01:~/wksp_efi/edk2-2$ stuart_setup -c .pytool/CISettings.py TOOL_CHAIN_TAG=GCC5
> 
> (unit_test_env) jshi19 at ub2-uefi-b01:~/wksp_efi/edk2-2$ stuart_update -c .pytool/CISettings.py TOOL_CHAIN_TAG=GCC5
> 
> SECTION - Init SDE
> 
> WARNING - Using Pip Tools based BaseTools
> 
> SECTION - Loading Plugins
> 
> SECTION - Start Invocable Tool
> 
> SECTION - Initial update of environment
> 
> UpdatingWARNING - [SDE] Failed to fetch NugetDependecy: edk2-acpica-iasl at 20200717.0.0<mailto:edk2-acpica-iasl at 20200717.0.0>: [Nuget] We failed to install this version 20200717.0.0 of edk2-acpica-iasl
> 
> WARNING - [SDE] Failed to fetch NugetDependecy: mu_nasm at 2.15.05<mailto:mu_nasm at 2.15.05>: [Nuget] We failed to install this version 2.15.05 of mu_nasm
> 
> . Done
> 
> SECTION -       Updated/Verified 3 dependencies
> 
> SECTION - Second pass update of environment
> 
> UpdatingWARNING - [SDE] Failed to fetch NugetDependecy: edk2-acpica-iasl at 20200717.0.0<mailto:edk2-acpica-iasl at 20200717.0.0>: [Nuget] We failed to install this version 20200717.0.0 of edk2-acpica-iasl
> 
> WARNING - [SDE] Failed to fetch NugetDependecy: mu_nasm at 2.15.05<mailto:mu_nasm at 2.15.05>: [Nuget] We failed to install this version 2.15.05 of mu_nasm
> 
> . Done
> 
> SECTION -       Updated/Verified 3 dependencies
> 
> ERROR - We were unable to successfully update 2 dependencies in environment
> 
> SECTION - Summary
> 
> ERROR - Error
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Thanks
> 
> 
> 
> Steven Shi
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#77562): https://edk2.groups.io/g/devel/message/77562
Mute This Topic: https://groups.io/mt/83873292/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list