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@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
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com> and Tested-by: Boris Fiuczynski <fiuczy@linux.ibm.com> On 08/02/2018 01:37 PM, Daniel P. Berrangé wrote: > 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@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 */ Please keep the dice you used for this roll for later reference... ;-) > + uint64_t ret = 0x0706050403020100; > + if (nbits < 64) > + ret &= ((1ULL << nbits) - 1); > + return ret; > +} > > int virRandomGenerateWWN(char **wwn, > const char *virt_type ATTRIBUTE_UNUSED) > -- Mit freundlichen Grüßen/Kind regards Boris Fiuczynski IBM Deutschland Research & Development GmbH Vorsitzender des Aufsichtsrats: Martina Köderitz Geschäftsführung: Dirk Wittkopp Sitz der Gesellschaft: Böblingen Registergericht: Amtsgericht Stuttgart, HRB 243294 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
On 08/02/2018 06:37 AM, Daniel P. Berrangé wrote: > 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@redhat.com> > --- > +uint64_t virRandomBits(int nbits) > +{ > + /* Chosen by a fair roll of a 2^64 sided dice */ Where do I get my hands on one of those? :) Reviewed-by: Eric Blake <eblake@redhat.com> -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
On Thu, Aug 02, 2018 at 08:17:25AM -0500, Eric Blake wrote: > On 08/02/2018 06:37 AM, Daniel P. Berrangé wrote: > > 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@redhat.com> > > --- > > > +uint64_t virRandomBits(int nbits) > > +{ > > + /* Chosen by a fair roll of a 2^64 sided dice */ > > Where do I get my hands on one of those? :) > > Reviewed-by: Eric Blake <eblake@redhat.com> Thanks, this is now pushed Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
© 2016 - 2024 Red Hat, Inc.