For crypto unit tests, it is generally better to use a pseudo-random RNG, with a known (but not constant) seed, so that potential failures can be diagnosed more easily. E.g., the seed could be logged in the test output.


On Fri, 14 Jun 2024 at 09:24, Li, Yi1 <yi1.li@intel.com> wrote:

Yes, we can create a host test specific lib if no better ways.

 

Regards,

Yi

 

From: Yao, Jiewen <jiewen.yao@intel.com>
Sent: Friday, June 14, 2024 3:20 PM
To: Li, Yi1 <yi1.li@intel.com>; devel@edk2.groups.io
Cc: Hou, Wenxing <wenxing.hou@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Pedro Falcato <pedro.falcato@gmail.com>; Ard Biesheuvel <ardb+tianocore@kernel.org>
Subject: RE: CryptoPkg host test broken due to smoketest for RDRAND

 

Can we use a host test specific RngLib?

 

 

 

From: Li, Yi1 <yi1.li@intel.com>
Sent: Friday, June 14, 2024 3:08 PM
To: devel@edk2.groups.io
Cc: Hou, Wenxing <wenxing.hou@intel.com>; Yao, Jiewen <jiewen.yao@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Pedro Falcato <pedro.falcato@gmail.com>; Ard Biesheuvel <ardb+tianocore@kernel.org>
Subject: CryptoPkg host test broken due to smoketest for RDRAND

 

All crypto host tests which consumed randlib broken due to:

https://github.com/tianocore/edk2/pull/5714

Not sure why this issue not reported  by CI when merge this PR.

 

The reason is that the ```BaseRngLibConstructor``` of rnglib is not called in host test, so ```mRdRandSupported``` is not enabled.

Then the Crypto API calls ```GetRandomNumber*``` will fail.

GetRandomNumber64 (

  OUT     UINT64  *Rand

  )

{

  ……

  if (!ArchIsRngSupported ()) {

    return FALSE;

  }

 

Is there a way to let unit test host to call the constructors correctly?

 

Regards,

Yi

 

_._,_._,_

Groups.io Links:

You receive all messages sent to this group.

View/Reply Online (#119570) | | Mute This Topic | New Topic
Your Subscription | Contact Group Owner | Unsubscribe [rebecca@openfw.io]

_._,_._,_