On 11/2/2023 7:40 AM, Juan Quintela wrote:
> From: Steve Sistare <[email protected]>
>
> [ Maintainer note:
>
> I put the test as flaky because our CI has problems with shared
> memory. We will remove the flaky bits as soon as we get a solution.
> ]
How about disabling the test for CI instead (which Fabiano suggested):
if (!getenv("GITLAB_CI")) {
qtest_add_func("/migration/mode/reboot", test_mode_reboot);
That immediately buys more coverage. A fix for CI requires more thought.
If you agree, I will submit a match.
- Steve
> Signed-off-by: Steve Sistare <[email protected]>
> Reviewed-by: Juan Quintela <[email protected]>
> Signed-off-by: Juan Quintela <[email protected]>
> Message-ID: <[email protected]>
> ---
> tests/qtest/migration-test.c | 33 +++++++++++++++++++++++++++++++++
> 1 file changed, 33 insertions(+)
>
> diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
> index bc70a14642..b7ebc23903 100644
> --- a/tests/qtest/migration-test.c
> +++ b/tests/qtest/migration-test.c
> @@ -2026,6 +2026,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 = {
> @@ -3096,6 +3121,14 @@ int main(int argc, char **argv)
> qtest_add_func("/migration/precopy/file/offset/bad",
> test_precopy_file_offset_bad);
>
> + /*
> + * Our CI system has problems with shared memory.
> + * Don't run this test until we find a workaround.
> + */
> + if (getenv("QEMU_TEST_FLAKY_TESTS")) {
> + 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);