tests: mock virRandomBits to make it endian stable

virRandomBits is implemented in terms of virRandomBytes. Although we
mock virRandomBytes to give a stable value, this is not sufficient to
make virRandomBits give a stable value. The result of virRandomBits will
vary depending on endianness. Thus we mock virRandomBits to return a
stable value directly.

Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Tested-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
Daniel P. Berrangé 2018-08-02 12:32:07 +01:00
parent 8e09f9afc7
commit 3e8703368b

View File

@ -44,6 +44,14 @@ virRandomBytes(unsigned char *buf,
return 0;
}
uint64_t virRandomBits(int nbits)
{
/* Chosen by a fair roll of a 2^64 sided dice */
uint64_t ret = 0x0706050403020100;
if (nbits < 64)
ret &= ((1ULL << nbits) - 1);
return ret;
}
int virRandomGenerateWWN(char **wwn,
const char *virt_type ATTRIBUTE_UNUSED)