[systemd-commits] 2 commits - src/network test/udev-test.pl

Tom Gundersen tomegun at kemper.freedesktop.org
Fri Mar 27 08:36:35 PDT 2015


 src/network/networkd-network.c |   23 +++++++++++++++++------
 test/udev-test.pl              |    7 +++++++
 2 files changed, 24 insertions(+), 6 deletions(-)

New commits:
commit 333e07b793836442dc320c60d5ae66f95c4489e1
Author: Tom Gundersen <teg at jklm.no>
Date:   Wed Mar 25 12:28:15 2015 +0100

    test: udev - add gdb support

diff --git a/test/udev-test.pl b/test/udev-test.pl
index d9b7967..126eab9 100755
--- a/test/udev-test.pl
+++ b/test/udev-test.pl
@@ -22,7 +22,9 @@ use strict;
 
 my $udev_bin            = "./test-udev";
 my $valgrind            = 0;
+my $gdb                 = 0;
 my $udev_bin_valgrind   = "valgrind --tool=memcheck --leak-check=yes --quiet $udev_bin";
+my $udev_bin_gdb        = "gdb --args $udev_bin";
 my $udev_dev            = "test/dev";
 my $udev_run            = "test/run";
 my $udev_rules_dir      = "$udev_run/udev/rules.d";
@@ -1326,6 +1328,8 @@ sub udev {
 
         if ($valgrind > 0) {
                 system("$udev_bin_valgrind $action $devpath");
+        } elsif ($gdb > 0) {
+                system("$udev_bin_gdb $action $devpath");
         } else {
                 system("$udev_bin", "$action", "$devpath");
         }
@@ -1502,6 +1506,9 @@ foreach my $arg (@ARGV) {
         if ($arg =~ m/--valgrind/) {
                 $valgrind = 1;
                 printf("using valgrind\n");
+        } elsif ($arg =~ m/--gdb/) {
+                $gdb = 1;
+                printf("using gdb\n");
         } else {
                 push(@list, $arg);
         }

commit af3aa302741b6edb0729925febb5f8bc26721fe3
Author: Tom Gundersen <teg at jklm.no>
Date:   Thu Mar 26 21:53:38 2015 +0100

    network: don't pass NULL to udev_device_get_driver()

diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c
index 141c36f..78bbf74 100644
--- a/src/network/networkd-network.c
+++ b/src/network/networkd-network.c
@@ -272,9 +272,24 @@ int network_get(Manager *manager, struct udev_device *device,
                 const char *ifname, const struct ether_addr *address,
                 Network **ret) {
         Network *network;
+        struct udev_device *parent;
+        const char *path, *parent_driver, *driver, *devtype;
 
         assert(manager);
         assert(ret);
+        assert(device);
+
+        path = udev_device_get_property_value(device, "ID_PATH");
+
+        parent = udev_device_get_parent(device);
+        if (parent)
+                parent_driver = udev_device_get_driver(parent);
+        else
+                parent_driver = NULL;
+
+        driver = udev_device_get_property_value(device, "ID_NET_DRIVER");
+
+        devtype = udev_device_get_devtype(device);
 
         LIST_FOREACH(networks, network, manager->networks) {
                 if (net_match_config(network->match_mac, network->match_path,
@@ -282,12 +297,8 @@ int network_get(Manager *manager, struct udev_device *device,
                                      network->match_name, network->match_host,
                                      network->match_virt, network->match_kernel,
                                      network->match_arch,
-                                     address,
-                                     udev_device_get_property_value(device, "ID_PATH"),
-                                     udev_device_get_driver(udev_device_get_parent(device)),
-                                     udev_device_get_property_value(device, "ID_NET_DRIVER"),
-                                     udev_device_get_devtype(device),
-                                     ifname)) {
+                                     address, path, parent_driver, driver,
+                                     devtype, ifname)) {
                         if (network->match_name) {
                                 const char *attr;
                                 uint8_t name_assign_type = NET_NAME_UNKNOWN;



More information about the systemd-commits mailing list