mirror of
https://github.com/brl/mutter.git
synced 2024-11-26 10:00:45 -05:00
monitor-unit-tests: Make hotplug_mode_update optional
Add a flag to the test setup creation function enabling the caller to specify whether a stored config should be used. This is done by changing the value of the hotplug_mode_update MetaOutput field, normally used by VMs to do the same. https://bugzilla.gnome.org/show_bug.cgi?id=777732
This commit is contained in:
parent
4652bde3d7
commit
12b69dbabb
@ -78,6 +78,12 @@
|
|||||||
* the expected layout and a scale.
|
* the expected layout and a scale.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
typedef enum _MonitorTestFlag
|
||||||
|
{
|
||||||
|
MONITOR_TEST_FLAG_NONE,
|
||||||
|
MONITOR_TEST_FLAG_NO_STORED
|
||||||
|
} MonitorTestFlag;
|
||||||
|
|
||||||
typedef struct _MonitorTestCaseMode
|
typedef struct _MonitorTestCaseMode
|
||||||
{
|
{
|
||||||
int width;
|
int width;
|
||||||
@ -487,12 +493,19 @@ check_monitor_configuration (MonitorTestCase *test_case)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static MetaMonitorTestSetup *
|
static MetaMonitorTestSetup *
|
||||||
create_monitor_test_setup (MonitorTestCase *test_case)
|
create_monitor_test_setup (MonitorTestCase *test_case,
|
||||||
|
MonitorTestFlag flags)
|
||||||
{
|
{
|
||||||
MetaMonitorTestSetup *test_setup;
|
MetaMonitorTestSetup *test_setup;
|
||||||
int i;
|
int i;
|
||||||
int n_laptop_panels = 0;
|
int n_laptop_panels = 0;
|
||||||
int n_normal_panels = 0;
|
int n_normal_panels = 0;
|
||||||
|
gboolean hotplug_mode_update;
|
||||||
|
|
||||||
|
if (flags & MONITOR_TEST_FLAG_NO_STORED)
|
||||||
|
hotplug_mode_update = TRUE;
|
||||||
|
else
|
||||||
|
hotplug_mode_update = FALSE;
|
||||||
|
|
||||||
test_setup = g_new0 (MetaMonitorTestSetup, 1);
|
test_setup = g_new0 (MetaMonitorTestSetup, 1);
|
||||||
|
|
||||||
@ -595,7 +608,7 @@ create_monitor_test_setup (MonitorTestCase *test_case)
|
|||||||
.serial = g_strdup ("0x123456"),
|
.serial = g_strdup ("0x123456"),
|
||||||
.suggested_x = -1,
|
.suggested_x = -1,
|
||||||
.suggested_y = -1,
|
.suggested_y = -1,
|
||||||
.hotplug_mode_update = TRUE, /* Results in config being ignored */
|
.hotplug_mode_update = hotplug_mode_update,
|
||||||
.width_mm = test_case->setup.outputs[i].width_mm,
|
.width_mm = test_case->setup.outputs[i].width_mm,
|
||||||
.height_mm = test_case->setup.outputs[i].height_mm,
|
.height_mm = test_case->setup.outputs[i].height_mm,
|
||||||
.subpixel_order = COGL_SUBPIXEL_ORDER_UNKNOWN,
|
.subpixel_order = COGL_SUBPIXEL_ORDER_UNKNOWN,
|
||||||
@ -680,7 +693,8 @@ meta_test_monitor_one_disconnected_linear_config (void)
|
|||||||
.screen_height = 768
|
.screen_height = 768
|
||||||
};
|
};
|
||||||
|
|
||||||
test_setup = create_monitor_test_setup (&test_case);
|
test_setup = create_monitor_test_setup (&test_case,
|
||||||
|
MONITOR_TEST_FLAG_NO_STORED);
|
||||||
emulate_hotplug (test_setup);
|
emulate_hotplug (test_setup);
|
||||||
check_monitor_configuration (&test_case);
|
check_monitor_configuration (&test_case);
|
||||||
}
|
}
|
||||||
@ -781,7 +795,8 @@ meta_test_monitor_one_off_linear_config (void)
|
|||||||
.screen_height = 768
|
.screen_height = 768
|
||||||
};
|
};
|
||||||
|
|
||||||
test_setup = create_monitor_test_setup (&test_case);
|
test_setup = create_monitor_test_setup (&test_case,
|
||||||
|
MONITOR_TEST_FLAG_NO_STORED);
|
||||||
emulate_hotplug (test_setup);
|
emulate_hotplug (test_setup);
|
||||||
check_monitor_configuration (&test_case);
|
check_monitor_configuration (&test_case);
|
||||||
}
|
}
|
||||||
@ -889,7 +904,8 @@ meta_test_monitor_preferred_linear_config (void)
|
|||||||
};
|
};
|
||||||
MetaMonitorTestSetup *test_setup;
|
MetaMonitorTestSetup *test_setup;
|
||||||
|
|
||||||
test_setup = create_monitor_test_setup (&test_case);
|
test_setup = create_monitor_test_setup (&test_case,
|
||||||
|
MONITOR_TEST_FLAG_NO_STORED);
|
||||||
emulate_hotplug (test_setup);
|
emulate_hotplug (test_setup);
|
||||||
check_monitor_configuration (&test_case);
|
check_monitor_configuration (&test_case);
|
||||||
}
|
}
|
||||||
@ -1003,7 +1019,8 @@ meta_test_monitor_tiled_linear_config (void)
|
|||||||
};
|
};
|
||||||
MetaMonitorTestSetup *test_setup;
|
MetaMonitorTestSetup *test_setup;
|
||||||
|
|
||||||
test_setup = create_monitor_test_setup (&test_case);
|
test_setup = create_monitor_test_setup (&test_case,
|
||||||
|
MONITOR_TEST_FLAG_NO_STORED);
|
||||||
emulate_hotplug (test_setup);
|
emulate_hotplug (test_setup);
|
||||||
check_monitor_configuration (&test_case);
|
check_monitor_configuration (&test_case);
|
||||||
}
|
}
|
||||||
@ -1126,7 +1143,8 @@ meta_test_monitor_hidpi_linear_config (void)
|
|||||||
};
|
};
|
||||||
MetaMonitorTestSetup *test_setup;
|
MetaMonitorTestSetup *test_setup;
|
||||||
|
|
||||||
test_setup = create_monitor_test_setup (&test_case);
|
test_setup = create_monitor_test_setup (&test_case,
|
||||||
|
MONITOR_TEST_FLAG_NO_STORED);
|
||||||
emulate_hotplug (test_setup);
|
emulate_hotplug (test_setup);
|
||||||
check_monitor_configuration (&test_case);
|
check_monitor_configuration (&test_case);
|
||||||
}
|
}
|
||||||
@ -1251,7 +1269,8 @@ meta_test_monitor_suggested_config (void)
|
|||||||
};
|
};
|
||||||
MetaMonitorTestSetup *test_setup;
|
MetaMonitorTestSetup *test_setup;
|
||||||
|
|
||||||
test_setup = create_monitor_test_setup (&test_case);
|
test_setup = create_monitor_test_setup (&test_case,
|
||||||
|
MONITOR_TEST_FLAG_NO_STORED);
|
||||||
|
|
||||||
test_setup->outputs[0].suggested_x = 1024;
|
test_setup->outputs[0].suggested_x = 1024;
|
||||||
test_setup->outputs[0].suggested_y = 758;
|
test_setup->outputs[0].suggested_y = 758;
|
||||||
@ -1366,7 +1385,8 @@ meta_test_monitor_limited_crtcs (void)
|
|||||||
};
|
};
|
||||||
MetaMonitorTestSetup *test_setup;
|
MetaMonitorTestSetup *test_setup;
|
||||||
|
|
||||||
test_setup = create_monitor_test_setup (&test_case);
|
test_setup = create_monitor_test_setup (&test_case,
|
||||||
|
MONITOR_TEST_FLAG_NO_STORED);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* With the config manager, we'll get a g_warning.
|
* With the config manager, we'll get a g_warning.
|
||||||
@ -1500,7 +1520,8 @@ meta_test_monitor_lid_switch_config (void)
|
|||||||
MetaMonitorManagerTest *monitor_manager_test =
|
MetaMonitorManagerTest *monitor_manager_test =
|
||||||
META_MONITOR_MANAGER_TEST (monitor_manager);
|
META_MONITOR_MANAGER_TEST (monitor_manager);
|
||||||
|
|
||||||
test_setup = create_monitor_test_setup (&test_case);
|
test_setup = create_monitor_test_setup (&test_case,
|
||||||
|
MONITOR_TEST_FLAG_NO_STORED);
|
||||||
emulate_hotplug (test_setup);
|
emulate_hotplug (test_setup);
|
||||||
check_monitor_configuration (&test_case);
|
check_monitor_configuration (&test_case);
|
||||||
|
|
||||||
@ -1646,7 +1667,8 @@ meta_test_monitor_lid_opened_config (void)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
test_setup = create_monitor_test_setup (&test_case);
|
test_setup = create_monitor_test_setup (&test_case,
|
||||||
|
MONITOR_TEST_FLAG_NO_STORED);
|
||||||
meta_monitor_manager_test_set_is_lid_closed (monitor_manager_test, TRUE);
|
meta_monitor_manager_test_set_is_lid_closed (monitor_manager_test, TRUE);
|
||||||
|
|
||||||
emulate_hotplug (test_setup);
|
emulate_hotplug (test_setup);
|
||||||
@ -1742,7 +1764,8 @@ meta_test_monitor_lid_closed_no_external (void)
|
|||||||
MetaMonitorManagerTest *monitor_manager_test =
|
MetaMonitorManagerTest *monitor_manager_test =
|
||||||
META_MONITOR_MANAGER_TEST (monitor_manager);
|
META_MONITOR_MANAGER_TEST (monitor_manager);
|
||||||
|
|
||||||
test_setup = create_monitor_test_setup (&test_case);
|
test_setup = create_monitor_test_setup (&test_case,
|
||||||
|
MONITOR_TEST_FLAG_NO_STORED);
|
||||||
meta_monitor_manager_test_set_is_lid_closed (monitor_manager_test, TRUE);
|
meta_monitor_manager_test_set_is_lid_closed (monitor_manager_test, TRUE);
|
||||||
|
|
||||||
emulate_hotplug (test_setup);
|
emulate_hotplug (test_setup);
|
||||||
@ -1777,7 +1800,8 @@ meta_test_monitor_no_outputs (void)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
test_setup = create_monitor_test_setup (&test_case);
|
test_setup = create_monitor_test_setup (&test_case,
|
||||||
|
MONITOR_TEST_FLAG_NO_STORED);
|
||||||
|
|
||||||
emulate_hotplug (test_setup);
|
emulate_hotplug (test_setup);
|
||||||
check_monitor_configuration (&test_case);
|
check_monitor_configuration (&test_case);
|
||||||
@ -1788,7 +1812,8 @@ init_monitor_tests (void)
|
|||||||
{
|
{
|
||||||
MetaMonitorTestSetup *initial_test_setup;
|
MetaMonitorTestSetup *initial_test_setup;
|
||||||
|
|
||||||
initial_test_setup = create_monitor_test_setup (&initial_test_case);
|
initial_test_setup = create_monitor_test_setup (&initial_test_case,
|
||||||
|
MONITOR_TEST_FLAG_NO_STORED);
|
||||||
meta_monitor_manager_test_init_test_setup (initial_test_setup);
|
meta_monitor_manager_test_init_test_setup (initial_test_setup);
|
||||||
|
|
||||||
g_test_add_func ("/backends/monitor/initial-linear-config",
|
g_test_add_func ("/backends/monitor/initial-linear-config",
|
||||||
|
Loading…
Reference in New Issue
Block a user