tests: Add suspend/resume tests

Also update the critical section test to check the order in which the
requests are processed.
This commit is contained in:
Benjamin Berg
2021-05-18 17:39:05 +02:00
parent 43336a204f
commit 8147372bdd
3 changed files with 289 additions and 6 deletions

View File

@@ -271,6 +271,26 @@ fpi_device_fake_cancel (FpDevice *device)
g_assert_cmpuint (fpi_device_get_current_action (device), !=, FPI_DEVICE_ACTION_NONE);
}
static void
fpi_device_fake_suspend (FpDevice *device)
{
FpiDeviceFake *fake_dev = FPI_DEVICE_FAKE (device);
fake_dev->last_called_function = fpi_device_fake_suspend;
fpi_device_suspend_complete (device, g_steal_pointer (&fake_dev->ret_suspend));
}
static void
fpi_device_fake_resume (FpDevice *device)
{
FpiDeviceFake *fake_dev = FPI_DEVICE_FAKE (device);
fake_dev->last_called_function = fpi_device_fake_resume;
fpi_device_resume_complete (device, g_steal_pointer (&fake_dev->ret_resume));
}
static void
fpi_device_fake_init (FpiDeviceFake *self)
{
@@ -299,6 +319,8 @@ fpi_device_fake_class_init (FpiDeviceFakeClass *klass)
dev_class->delete = fpi_device_fake_delete;
dev_class->cancel = fpi_device_fake_cancel;
dev_class->clear_storage = fpi_device_fake_clear_storage;
dev_class->suspend = fpi_device_fake_suspend;
dev_class->resume = fpi_device_fake_resume;
fpi_device_class_auto_initialize_features (dev_class);
}