libvirt/f536b0dd-tests-arch-independent-hash.patch

140 lines
4.3 KiB
Diff
Raw Normal View History

commit f536b0dd7318c736c20ae646209671011d16c12c
Author: Peter Krempa <pkrempa@redhat.com>
Date: Wed Aug 2 17:23:51 2017 +0200
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.
Index: libvirt-3.6.0/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative.result
===================================================================
--- libvirt-3.6.0.orig/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative.result
+++ libvirt-3.6.0/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative.result
@@ -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'
Index: libvirt-3.6.0/tests/qemumonitorjsondata/qemumonitorjson-nodename-same-backing.result
===================================================================
--- libvirt-3.6.0.orig/tests/qemumonitorjsondata/qemumonitorjson-nodename-same-backing.result
+++ libvirt-3.6.0/tests/qemumonitorjsondata/qemumonitorjson-nodename-same-backing.result
@@ -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'
Index: libvirt-3.6.0/tests/virdeterministichashmock.c
===================================================================
--- libvirt-3.6.0.orig/tests/virdeterministichashmock.c
+++ libvirt-3.6.0/tests/virdeterministichashmock.c
@@ -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;
}
Index: libvirt-3.6.0/tests/virmacmaptestdata/simple2.json
===================================================================
--- libvirt-3.6.0.orig/tests/virmacmaptestdata/simple2.json
+++ libvirt-3.6.0/tests/virmacmaptestdata/simple2.json
@@ -1,16 +1,16 @@
[
{
- "domain": "f25",
+ "domain": "f24",
"macs": [
- "00:11:22:33:44:55",
- "aa:bb:cc:00:11:22"
+ "aa:bb:cc:dd:ee:ff",
+ "a1:b2:c3:d4:e5:f6"
]
},
{
- "domain": "f24",
+ "domain": "f25",
"macs": [
- "aa:bb:cc:dd:ee:ff",
- "a1:b2:c3:d4:e5:f6"
+ "00:11:22:33:44:55",
+ "aa:bb:cc:00:11:22"
]
}
]