[libgudev/benzea/fix-newline-stripping: 1/4] tests: Add helper function to setup single device environment
- From: Benjamin Berg <bberg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgudev/benzea/fix-newline-stripping: 1/4] tests: Add helper function to setup single device environment
- Date: Wed, 1 Jun 2022 13:28:54 +0000 (UTC)
commit 5a09eb04782cda42ecebf84019fba1d8380c254b
Author: Benjamin Berg <bberg redhat com>
Date: Tue May 31 18:38:13 2022 +0200
tests: Add helper function to setup single device environment
Just to make it a bit nicer, no need to assert the number of devices
each time and such.
tests/test-sysfsattr.c | 42 +++++++++++++++++++++++++++++-------------
1 file changed, 29 insertions(+), 13 deletions(-)
---
diff --git a/tests/test-sysfsattr.c b/tests/test-sysfsattr.c
index 13f4a5b..88788ae 100644
--- a/tests/test-sysfsattr.c
+++ b/tests/test-sysfsattr.c
@@ -27,6 +27,28 @@ fixture_setup (Fixture *f, G_GNUC_UNUSED const void *data)
g_assert (umockdev_in_mock_environment ());
}
+static GUdevDevice*
+create_single_dev (Fixture *f, const char *device)
+{
+ g_autoptr(GError) error = NULL;
+ g_autoptr(GUdevClient) client = NULL;
+ g_autolist(GUdevDevice) devices;
+ GUdevDevice *dev;
+
+ if (!umockdev_testbed_add_from_string (f->testbed, device, &error))
+ g_error ("Failed to add test device: %s", error->message);
+
+ client = g_udev_client_new (NULL);
+
+ devices = g_udev_client_query_by_subsystem (client, NULL);
+ g_assert_cmpint (g_list_length (devices), ==, 1);
+
+ dev = devices->data;
+ devices = g_list_delete_link (devices, devices);
+
+ return dev;
+}
+
static void
fixture_teardown (Fixture *f, G_GNUC_UNUSED const void *data)
{
@@ -36,21 +58,17 @@ fixture_teardown (Fixture *f, G_GNUC_UNUSED const void *data)
static void
test_uncached_sysfs_attr (Fixture *f, G_GNUC_UNUSED const void *data)
{
- umockdev_testbed_add_device (f->testbed, "platform", "dev1", NULL,
- "dytc_lapmode", "1", "console", "Y\n", NULL,
- "ID_MODEL", "KoolGadget", NULL);
-
- /* Check the number of items in GUdevClient */
- const gchar *subsystems[] = { "platform", NULL};
- GUdevClient *client = g_udev_client_new (subsystems);
- GUdevDevice *dev;
+ g_autoptr(GUdevDevice) dev = NULL;
g_autofree char *lapmode_path = NULL;
g_autofree char *console_path = NULL;
FILE *sysfsfp;
- GList *devices = g_udev_client_query_by_subsystem (client, NULL);
- g_assert_cmpint (g_list_length (devices), ==, 1);
- dev = devices->data;
+ dev = create_single_dev (f, "P: /devices/dev1\n"
+ "E: SUBSYSTEM=platform\n"
+ "A: dytc_lapmode=1\n"
+ "A: console=Y\\n\n"
+ "E: ID_MODEL=KoolGadget");
+
lapmode_path = g_build_filename (g_udev_device_get_sysfs_path (dev), "dytc_lapmode", NULL);
/* First access */
g_assert_true (g_udev_device_get_sysfs_attr_as_boolean (dev, "dytc_lapmode"));
@@ -76,8 +94,6 @@ test_uncached_sysfs_attr (Fixture *f, G_GNUC_UNUSED const void *data)
fprintf (sysfsfp, "%s\n", "Y");
fclose (sysfsfp);
g_assert_true (g_udev_device_get_sysfs_attr_as_boolean_uncached (dev, "console"));
-
- g_list_free_full (devices, g_object_unref);
}
int main(int argc, char **argv)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]