summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorDr. David Alan Gilbert <dgilbert@redhat.com>2020-02-10 19:57:31 +0000
committerJuan Quintela <quintela@redhat.com>2020-02-13 10:57:35 +0100
commit6e1f837a142731e0a271aae2eb83c17ca32f4db3 (patch)
tree1ec5155f782b7dd88db3bf9e1ef6c2a5f400557c
parent2a1bc8bde7cc42ea8bf5d52c7c9a7774fde0edcd (diff)
downloadfocaccia-qemu-6e1f837a142731e0a271aae2eb83c17ca32f4db3.tar.gz
focaccia-qemu-6e1f837a142731e0a271aae2eb83c17ca32f4db3.zip
tests/migration: Add some slack to auto converge
There's an assert in autoconverge that checks that we quit the
iteration when we go below the expected threshold.  Philippe
saw a case where this assert fired with the measured value
slightly over the threshold. (about 3k out of a few million).

I can think of two reasons:
  a) Rounding errors
  b) That after we make the decision to quit iteration we do one
    more sync and that sees a few more dirty pages.

So add 1% slack to the assertion, that should cover a and
most cases of b, probably all we'll see for the test.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
-rw-r--r--tests/qtest/migration-test.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
index cf27ebbc9d..a78ac0c7da 100644
--- a/tests/qtest/migration-test.c
+++ b/tests/qtest/migration-test.c
@@ -1237,7 +1237,8 @@ static void test_migrate_auto_converge(void)
     g_assert_cmpint(percentage, <=, max_pct);
 
     remaining = read_ram_property_int(from, "remaining");
-    g_assert_cmpint(remaining, <, expected_threshold);
+    g_assert_cmpint(remaining, <,
+                    (expected_threshold + expected_threshold / 100));
 
     migrate_continue(from, "pre-switchover");