lldp/tests/trivial: some renaming and moving of code
This commit is contained in:
@@ -32,62 +32,7 @@
|
|||||||
|
|
||||||
#include "nm-test-utils.h"
|
#include "nm-test-utils.h"
|
||||||
|
|
||||||
typedef struct {
|
/*****************************************************************************/
|
||||||
int ifindex;
|
|
||||||
int fd;
|
|
||||||
guint8 mac[ETH_ALEN];
|
|
||||||
} test_fixture;
|
|
||||||
|
|
||||||
#define TEST_IFNAME "nm-tap-test0"
|
|
||||||
|
|
||||||
static void
|
|
||||||
fixture_setup (test_fixture *fixture, gconstpointer user_data)
|
|
||||||
{
|
|
||||||
const NMPlatformLink *link;
|
|
||||||
struct ifreq ifr = { };
|
|
||||||
int fd, s;
|
|
||||||
|
|
||||||
fd = open ("/dev/net/tun", O_RDWR);
|
|
||||||
g_assert (fd >= 0);
|
|
||||||
|
|
||||||
ifr.ifr_flags = IFF_TAP | IFF_NO_PI;
|
|
||||||
nm_utils_ifname_cpy (ifr.ifr_name, TEST_IFNAME);
|
|
||||||
g_assert (ioctl (fd, TUNSETIFF, &ifr) >= 0);
|
|
||||||
|
|
||||||
/* Bring the interface up */
|
|
||||||
s = socket (AF_INET, SOCK_DGRAM, 0);
|
|
||||||
g_assert (s >= 0);
|
|
||||||
ifr.ifr_flags |= IFF_UP;
|
|
||||||
g_assert (ioctl (s, SIOCSIFFLAGS, &ifr) >= 0);
|
|
||||||
close (s);
|
|
||||||
|
|
||||||
nm_platform_process_events (NM_PLATFORM_GET);
|
|
||||||
link = nm_platform_link_get_by_ifname (NM_PLATFORM_GET, TEST_IFNAME);
|
|
||||||
g_assert (link);
|
|
||||||
fixture->ifindex = link->ifindex;
|
|
||||||
fixture->fd = fd;
|
|
||||||
memcpy (fixture->mac, link->addr.data, ETH_ALEN);
|
|
||||||
}
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
int num_called;
|
|
||||||
} TestInfo;
|
|
||||||
|
|
||||||
static gboolean
|
|
||||||
loop_quit (gpointer user_data)
|
|
||||||
{
|
|
||||||
g_main_loop_quit ((GMainLoop *) user_data);
|
|
||||||
return G_SOURCE_REMOVE;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
lldp_neighbors_changed (NMLldpListener *lldp_listener, GParamSpec *pspec,
|
|
||||||
gpointer user_data)
|
|
||||||
{
|
|
||||||
TestInfo *info = user_data;
|
|
||||||
|
|
||||||
info->num_called++;
|
|
||||||
}
|
|
||||||
|
|
||||||
static GVariant *
|
static GVariant *
|
||||||
get_lldp_neighbor_attribute (GVariant *neighbors,
|
get_lldp_neighbor_attribute (GVariant *neighbors,
|
||||||
@@ -138,12 +83,69 @@ get_lldp_neighbor_attribute (GVariant *neighbors,
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
int ifindex;
|
||||||
|
int fd;
|
||||||
|
guint8 mac[ETH_ALEN];
|
||||||
|
} TestRecvFixture;
|
||||||
|
|
||||||
|
#define TEST_IFNAME "nm-tap-test0"
|
||||||
|
|
||||||
static void
|
static void
|
||||||
test_receive_frame (test_fixture *fixture, gconstpointer user_data)
|
_test_recv_fixture_setup (TestRecvFixture *fixture, gconstpointer user_data)
|
||||||
|
{
|
||||||
|
const NMPlatformLink *link;
|
||||||
|
struct ifreq ifr = { };
|
||||||
|
int fd, s;
|
||||||
|
|
||||||
|
fd = open ("/dev/net/tun", O_RDWR);
|
||||||
|
g_assert (fd >= 0);
|
||||||
|
|
||||||
|
ifr.ifr_flags = IFF_TAP | IFF_NO_PI;
|
||||||
|
nm_utils_ifname_cpy (ifr.ifr_name, TEST_IFNAME);
|
||||||
|
g_assert (ioctl (fd, TUNSETIFF, &ifr) >= 0);
|
||||||
|
|
||||||
|
/* Bring the interface up */
|
||||||
|
s = socket (AF_INET, SOCK_DGRAM, 0);
|
||||||
|
g_assert (s >= 0);
|
||||||
|
ifr.ifr_flags |= IFF_UP;
|
||||||
|
g_assert (ioctl (s, SIOCSIFFLAGS, &ifr) >= 0);
|
||||||
|
close (s);
|
||||||
|
|
||||||
|
nm_platform_process_events (NM_PLATFORM_GET);
|
||||||
|
link = nm_platform_link_get_by_ifname (NM_PLATFORM_GET, TEST_IFNAME);
|
||||||
|
g_assert (link);
|
||||||
|
fixture->ifindex = link->ifindex;
|
||||||
|
fixture->fd = fd;
|
||||||
|
memcpy (fixture->mac, link->addr.data, ETH_ALEN);
|
||||||
|
}
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
int num_called;
|
||||||
|
} TestRecvCallbackInfo;
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
loop_quit (gpointer user_data)
|
||||||
|
{
|
||||||
|
g_main_loop_quit ((GMainLoop *) user_data);
|
||||||
|
return G_SOURCE_REMOVE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
lldp_neighbors_changed (NMLldpListener *lldp_listener, GParamSpec *pspec,
|
||||||
|
gpointer user_data)
|
||||||
|
{
|
||||||
|
TestRecvCallbackInfo *info = user_data;
|
||||||
|
|
||||||
|
info->num_called++;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
test_recv (TestRecvFixture *fixture, gconstpointer user_data)
|
||||||
{
|
{
|
||||||
gs_unref_object NMLldpListener *listener = NULL;
|
gs_unref_object NMLldpListener *listener = NULL;
|
||||||
GMainLoop *loop;
|
GMainLoop *loop;
|
||||||
TestInfo info = { };
|
TestRecvCallbackInfo info = { };
|
||||||
GVariant *neighbors, *attr;
|
GVariant *neighbors, *attr;
|
||||||
uint8_t frame[] = {
|
uint8_t frame[] = {
|
||||||
/* Ethernet header */
|
/* Ethernet header */
|
||||||
@@ -209,11 +211,13 @@ test_receive_frame (test_fixture *fixture, gconstpointer user_data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
fixture_teardown (test_fixture *fixture, gconstpointer user_data)
|
_test_recv_fixture_teardown (TestRecvFixture *fixture, gconstpointer user_data)
|
||||||
{
|
{
|
||||||
nm_platform_link_delete (NM_PLATFORM_GET, fixture->ifindex);
|
nm_platform_link_delete (NM_PLATFORM_GET, fixture->ifindex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
void
|
void
|
||||||
init_tests (int *argc, char ***argv)
|
init_tests (int *argc, char ***argv)
|
||||||
{
|
{
|
||||||
@@ -223,6 +227,5 @@ init_tests (int *argc, char ***argv)
|
|||||||
void
|
void
|
||||||
setup_tests (void)
|
setup_tests (void)
|
||||||
{
|
{
|
||||||
g_test_add ("/lldp/receive_frame", test_fixture, NULL, fixture_setup,
|
g_test_add ("/lldp/recv", TestRecvFixture, NULL, _test_recv_fixture_setup, test_recv, _test_recv_fixture_teardown);
|
||||||
test_receive_frame, fixture_teardown);
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user