tests/migration: Add migration-test header file
This patch moves the settings related migration-test from the migration-test.c file to a new header file. Reviewed-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Andrew Jones <drjones@redhat.com> Signed-off-by: Wei Huang <wei@redhat.com> Message-Id: <1536174934-26022-4-git-send-email-wei@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
This commit is contained in:
parent
d54927efdc
commit
e51e711b1b
@ -21,11 +21,13 @@
|
||||
#include "chardev/char.h"
|
||||
#include "sysemu/sysemu.h"
|
||||
|
||||
#include "migration/migration-test.h"
|
||||
|
||||
/* TODO actually test the results and get rid of this */
|
||||
#define qtest_qmp_discard_response(...) qobject_unref(qtest_qmp(__VA_ARGS__))
|
||||
|
||||
const unsigned start_address = 1024 * 1024;
|
||||
const unsigned end_address = 100 * 1024 * 1024;
|
||||
unsigned start_address;
|
||||
unsigned end_address;
|
||||
bool got_stop;
|
||||
static bool uffd_feature_thread_id;
|
||||
|
||||
@ -80,8 +82,8 @@ static bool ufd_version_check(void)
|
||||
|
||||
static const char *tmpfs;
|
||||
|
||||
/* A simple PC boot sector that modifies memory (1-100MB) quickly
|
||||
* outputting a 'B' every so often if it's still running.
|
||||
/* The boot file modifies memory area in [start_address, end_address)
|
||||
* repeatedly. It outputs a 'B' at a fixed rate while it's still running.
|
||||
*/
|
||||
#include "tests/migration/i386/a-b-bootblock.h"
|
||||
|
||||
@ -270,11 +272,11 @@ static void wait_for_migration_pass(QTestState *who)
|
||||
static void check_guests_ram(QTestState *who)
|
||||
{
|
||||
/* Our ASM test will have been incrementing one byte from each page from
|
||||
* 1MB to <100MB in order.
|
||||
* This gives us a constraint that any page's byte should be equal or less
|
||||
* than the previous pages byte (mod 256); and they should all be equal
|
||||
* except for one transition at the point where we meet the incrementer.
|
||||
* (We're running this with the guest stopped).
|
||||
* start_address to < end_address in order. This gives us a constraint
|
||||
* that any page's byte should be equal or less than the previous pages
|
||||
* byte (mod 256); and they should all be equal except for one transition
|
||||
* at the point where we meet the incrementer. (We're running this with
|
||||
* the guest stopped).
|
||||
*/
|
||||
unsigned address;
|
||||
uint8_t first_byte;
|
||||
@ -285,7 +287,8 @@ static void check_guests_ram(QTestState *who)
|
||||
qtest_memread(who, start_address, &first_byte, 1);
|
||||
last_byte = first_byte;
|
||||
|
||||
for (address = start_address + 4096; address < end_address; address += 4096)
|
||||
for (address = start_address + TEST_MEM_PAGE_SIZE; address < end_address;
|
||||
address += TEST_MEM_PAGE_SIZE)
|
||||
{
|
||||
uint8_t b;
|
||||
qtest_memread(who, address, &b, 1);
|
||||
@ -437,6 +440,8 @@ static int test_migrate_start(QTestState **from, QTestState **to,
|
||||
" -drive file=%s,format=raw"
|
||||
" -incoming %s",
|
||||
accel, tmpfs, bootpath, uri);
|
||||
start_address = X86_TEST_MEM_START;
|
||||
end_address = X86_TEST_MEM_END;
|
||||
} else if (strcmp(arch, "ppc64") == 0) {
|
||||
cmd_src = g_strdup_printf("-machine accel=%s -m 256M"
|
||||
" -name source,debug-threads=on"
|
||||
@ -451,6 +456,9 @@ static int test_migrate_start(QTestState **from, QTestState **to,
|
||||
" -serial file:%s/dest_serial"
|
||||
" -incoming %s",
|
||||
accel, tmpfs, uri);
|
||||
|
||||
start_address = PPC_TEST_MEM_START;
|
||||
end_address = PPC_TEST_MEM_END;
|
||||
} else {
|
||||
g_assert_not_reached();
|
||||
}
|
||||
|
21
tests/migration/migration-test.h
Normal file
21
tests/migration/migration-test.h
Normal file
@ -0,0 +1,21 @@
|
||||
/*
|
||||
* Copyright (c) 2018 Red Hat, Inc. and/or its affiliates
|
||||
*
|
||||
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
||||
* See the COPYING file in the top-level directory.
|
||||
*/
|
||||
#ifndef _TEST_MIGRATION_H_
|
||||
#define _TEST_MIGRATION_H_
|
||||
|
||||
/* Common */
|
||||
#define TEST_MEM_PAGE_SIZE 4096
|
||||
|
||||
/* x86 */
|
||||
#define X86_TEST_MEM_START (1 * 1024 * 1024)
|
||||
#define X86_TEST_MEM_END (100 * 1024 * 1024)
|
||||
|
||||
/* PPC */
|
||||
#define PPC_TEST_MEM_START (1 * 1024 * 1024)
|
||||
#define PPC_TEST_MEM_END (100 * 1024 * 1024)
|
||||
|
||||
#endif /* _TEST_MIGRATION_H_ */
|
Loading…
Reference in New Issue
Block a user