On 11/1/2023 9:57 AM, Steven Sistare wrote: > On 11/1/2023 9:34 AM, Fabiano Rosas wrote: >> Steve Sistare <steven.sist...@oracle.com> writes: >> >>> Signed-off-by: Steve Sistare <steven.sist...@oracle.com> >>> --- >>> tests/qtest/migration-test.c | 27 +++++++++++++++++++++++++++ >>> 1 file changed, 27 insertions(+) >>> >>> diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c >>> index e1c1105..de29fc5 100644 >>> --- a/tests/qtest/migration-test.c >>> +++ b/tests/qtest/migration-test.c >>> @@ -2001,6 +2001,31 @@ static void test_precopy_file_offset_bad(void) >>> test_file_common(&args, false); >>> } >>> >>> +static void *test_mode_reboot_start(QTestState *from, QTestState *to) >>> +{ >>> + migrate_set_parameter_str(from, "mode", "cpr-reboot"); >>> + migrate_set_parameter_str(to, "mode", "cpr-reboot"); >>> + >>> + migrate_set_capability(from, "x-ignore-shared", true); >>> + migrate_set_capability(to, "x-ignore-shared", true); >>> + >>> + return NULL; >>> +} >>> + >>> +static void test_mode_reboot(void) >>> +{ >>> + g_autofree char *uri = g_strdup_printf("file:%s/%s", tmpfs, >>> + FILE_TEST_FILENAME); >>> + MigrateCommon args = { >>> + .start.use_shmem = true, >>> + .connect_uri = uri, >>> + .listen_uri = "defer", >>> + .start_hook = test_mode_reboot_start >>> + }; >>> + >>> + test_file_common(&args, true); >>> +} >>> + >>> static void test_precopy_tcp_plain(void) >>> { >>> MigrateCommon args = { >>> @@ -3056,6 +3081,8 @@ int main(int argc, char **argv) >>> qtest_add_func("/migration/precopy/file/offset/bad", >>> test_precopy_file_offset_bad); >>> >>> + qtest_add_func("/migration/mode/reboot", test_mode_reboot); >>> + >>> #ifdef CONFIG_GNUTLS >>> qtest_add_func("/migration/precopy/unix/tls/psk", >>> test_precopy_unix_tls_psk); >> >> We have an issue with this test on CI: >> >> $ df -h /dev/shm >> Filesystem Size Used Avail Use% Mounted on >> shm 64M 0 64M 0% /dev/shm >> >> These are shared CI runners, so AFAICT there's no way to increase the >> shared memory size. >> >> Reducing the memory for this single test also wouldn't work because we >> can run migration-test for different archs in parallel + there's the >> ivshmem_test which uses 4M. >> >> Maybe just leave it out of CI? Laptops will probably have enough shared >> memory to not hit this. If we add a warning comment to the test, might >> be enough. > > in test_migrate_start, I could set memory_size very small if use_shmem, and > adjust > start_address and end_address. Can you suggest a safe size?
Ugh, I would also need to dynamically change TEST_MEM_END and ARM_TEST_MEM_END in a-b-bootblock.S and a-b-kernel.S, like I do for the suspend_me variable in my work-in-progress patch "tests/qtest: option to suspend during migration". - Steve