-From e6cbe1cf67c6fd7b6fdce689c17cb40a4c644e13 Mon Sep 17 00:00:00 2001
+From 6df0d37601a8dd765bb30ae456e194155a85d0a4 Mon Sep 17 00:00:00 2001
From: Dietmar Maurer <dietmar@proxmox.com>
Date: Wed, 14 Nov 2012 09:57:04 +0100
-Subject: [PATCH v3 5/6] add regression tests for backup
+Subject: [PATCH v3 5/7] add regression tests for backup
Simple regression tests using vma-reader and vma-writer.
+Note: the call to g_thread_init() solves problems with g_slice_alloc() - without that call we get arbitrary crashes.
+
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
---
tests/Makefile | 11 +-
- tests/backup-test.c | 511 +++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 520 insertions(+), 2 deletions(-)
+ tests/backup-test.c | 515 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 524 insertions(+), 2 deletions(-)
create mode 100644 tests/backup-test.c
diff --git a/tests/Makefile b/tests/Makefile
-include $(wildcard tests/*.d)
diff --git a/tests/backup-test.c b/tests/backup-test.c
new file mode 100644
-index 0000000..c434c5f
+index 0000000..813590e
--- /dev/null
+++ b/tests/backup-test.c
-@@ -0,0 +1,511 @@
+@@ -0,0 +1,515 @@
+/*
+ * QEMU backup test suit
+ *
+ g_error("%s", error_get_pretty(errp));
+ }
+
-+ if (vma_reader_restore(vmar, -1, &errp) < 0) {
++ if (vma_reader_restore(vmar, -1, false, &errp) < 0) {
+ g_error("restore failed - %s", error_get_pretty(errp));
+ }
+
+ bcb.vmaw = vmaw;
+ bcb.dev_id = vma_writer_register_stream(vmaw, bdrv_get_device_name(bs),
+ bdrv_getlength(bs));
-+ if (backup_job_start(bs, backup_dump_cb, backup_complete_cb, &bcb) < 0) {
-+ g_error("backup_job_start failed");
++ if (backup_job_create(bs, backup_dump_cb, backup_complete_cb, &bcb) < 0) {
++ g_error("backup_job_create failed");
++ } else {
++ backup_job_start(bs);
+ }
+
+ request_term = false;
+{
+ int c;
+
++ g_thread_init(NULL);
++
+ for (;;) {
+ c = getopt(argc, argv, "hdl");
+ if (c == -1) {