tests: deterministichash: Make hash tables arch-independent

It turns out that our implementation of the hashing function is
endian-dependent and thus if used on various architectures the testsuite
may have different results. Work this around by mocking virHashCodeGen
to something which does not use bit operations instead of just setting a
deterministic seed.
This commit is contained in:
Peter Krempa 2017-08-02 17:23:51 +02:00
parent 0b1ecf7b53
commit f536b0dd73
4 changed files with 44 additions and 35 deletions

View File

@ -1,15 +1,3 @@
drive-ide0-0-1
filename : '/var/lib/libvirt/images/relsnap.qcow2'
format node : '#block1290'
format drv : 'qcow2'
storage node: '#block1107'
storage drv : 'file'
filename : '/var/lib/libvirt/images/base.qcow2'
format node : '#block927'
format drv : 'qcow2'
storage node: '#block800'
storage drv : 'file'
drive-ide0-0-0
filename : '/var/lib/libvirt/images/img3'
format node : '#block118'
@ -31,3 +19,15 @@ storage drv : 'file'
format drv : 'qcow2'
storage node: '#block614'
storage drv : 'file'
drive-ide0-0-1
filename : '/var/lib/libvirt/images/relsnap.qcow2'
format node : '#block1290'
format drv : 'qcow2'
storage node: '#block1107'
storage drv : 'file'
filename : '/var/lib/libvirt/images/base.qcow2'
format node : '#block927'
format drv : 'qcow2'
storage node: '#block800'
storage drv : 'file'

View File

@ -1,15 +1,3 @@
drive-sata0-0-1
filename : '/var/lib/libvirt/images/b.qcow2'
format node : '#block548'
format drv : 'qcow2'
storage node: '#block487'
storage drv : 'file'
filename : '/var/lib/libvirt/images/base.qcow2'
format node : '#block771'
format drv : 'qcow2'
storage node: '#block692'
storage drv : 'file'
drive-sata0-0-0
filename : '/var/lib/libvirt/images/a.qcow2'
format node : '#block132'
@ -21,3 +9,15 @@ storage drv : 'file'
format drv : 'qcow2'
storage node: '#block224'
storage drv : 'file'
drive-sata0-0-1
filename : '/var/lib/libvirt/images/b.qcow2'
format node : '#block548'
format drv : 'qcow2'
storage node: '#block487'
storage drv : 'file'
filename : '/var/lib/libvirt/images/base.qcow2'
format node : '#block771'
format drv : 'qcow2'
storage node: '#block692'
storage drv : 'file'

View File

@ -20,10 +20,19 @@
#include <config.h>
#include "virrandom.h"
#include "util/virhashcode.h"
uint64_t virRandomBits(int nbits ATTRIBUTE_UNUSED)
uint32_t
virHashCodeGen(const void *key,
size_t len,
uint32_t seed ATTRIBUTE_UNUSED)
{
return 4; /* chosen by fair dice roll.
guaranteed to be random. */
const uint8_t *k = key;
uint32_t h = 0;
size_t i;
for (i = 0; i < len; i++)
h += k[i];
return h;
}

View File

@ -1,16 +1,16 @@
[
{
"domain": "f25",
"macs": [
"00:11:22:33:44:55",
"aa:bb:cc:00:11:22"
]
},
{
"domain": "f24",
"macs": [
"aa:bb:cc:dd:ee:ff",
"a1:b2:c3:d4:e5:f6"
]
},
{
"domain": "f25",
"macs": [
"00:11:22:33:44:55",
"aa:bb:cc:00:11:22"
]
}
]