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.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
tests/virrandommock.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/tests/virrandommock.c b/tests/virrandommock.c
index 99a55a576a..3079b8bacb 100644
--- a/tests/virrandommock.c
+++ b/tests/virrandommock.c
@@ -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)
--
2.17.1