Blame src/utils/tests/test-utils.c

Packit Service 639700
// SPDX-License-Identifier: GPL-2.0+
Packit fabffb
/* NetworkManager Applet -- allow user control over networking
Packit fabffb
 *
Packit fabffb
 * Dan Williams <dcbw@redhat.com>
Packit fabffb
 *
Packit fabffb
 * (C) Copyright 2009 Red Hat, Inc.
Packit fabffb
 */
Packit fabffb
Packit fabffb
#include "nm-default.h"
Packit fabffb
Packit fabffb
#include <string.h>
Packit fabffb
Packit fabffb
#include "utils.h"
Packit fabffb
Packit fabffb
#include "nm-utils/nm-test-utils.h"
Packit fabffb
Packit fabffb
typedef struct {
Packit fabffb
	char *foobar_infra_open;
Packit fabffb
	char *foobar_infra_wep;
Packit fabffb
	char *foobar_infra_wpa;
Packit fabffb
	char *foobar_infra_rsn;
Packit fabffb
	char *foobar_infra_wpa_rsn;
Packit fabffb
	char *foobar_adhoc_open;
Packit fabffb
	char *foobar_adhoc_wep;
Packit fabffb
	char *foobar_adhoc_wpa;
Packit fabffb
	char *foobar_adhoc_rsn;
Packit fabffb
	char *foobar_adhoc_wpa_rsn;
Packit fabffb
Packit fabffb
	char *asdf11_infra_open;
Packit fabffb
	char *asdf11_infra_wep;
Packit fabffb
	char *asdf11_infra_wpa;
Packit fabffb
	char *asdf11_infra_rsn;
Packit fabffb
	char *asdf11_infra_wpa_rsn;
Packit fabffb
	char *asdf11_adhoc_open;
Packit fabffb
	char *asdf11_adhoc_wep;
Packit fabffb
	char *asdf11_adhoc_wpa;
Packit fabffb
	char *asdf11_adhoc_rsn;
Packit fabffb
	char *asdf11_adhoc_wpa_rsn;
Packit fabffb
} TestData;
Packit fabffb
Packit fabffb
static GBytes *
Packit fabffb
string_to_ssid (const char *str)
Packit fabffb
{
Packit fabffb
	g_assert (str != NULL);
Packit fabffb
Packit fabffb
	return g_bytes_new (str, strlen (str));
Packit fabffb
}
Packit fabffb
Packit fabffb
static char *
Packit fabffb
make_hash (const char *str,
Packit fabffb
           NM80211Mode mode,
Packit fabffb
           guint32 flags,
Packit fabffb
           guint32 wpa_flags,
Packit fabffb
           guint32 rsn_flags)
Packit fabffb
{
Packit fabffb
	GBytes *ssid;
Packit fabffb
	char *hash, *hash2;
Packit fabffb
Packit fabffb
	ssid = string_to_ssid (str);
Packit fabffb
Packit fabffb
	hash = utils_hash_ap (ssid, mode, flags, wpa_flags, rsn_flags);
Packit fabffb
	g_assert (hash != NULL);
Packit fabffb
Packit fabffb
	hash2 = utils_hash_ap (ssid, mode, flags, wpa_flags, rsn_flags);
Packit fabffb
	g_assert (hash2 != NULL);
Packit fabffb
Packit fabffb
	/* Make sure they are the same each time */
Packit fabffb
	g_assert (!strcmp (hash, hash2));
Packit fabffb
Packit fabffb
	g_bytes_unref (ssid);
Packit fabffb
	return hash;
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
make_ssid_hashes (const char *ssid,
Packit fabffb
                  NM80211Mode mode,
Packit fabffb
                  char **open,
Packit fabffb
                  char **wep,
Packit fabffb
                  char **wpa,
Packit fabffb
                  char **rsn,
Packit fabffb
                  char **wpa_rsn)
Packit fabffb
{
Packit fabffb
	*open = make_hash (ssid, mode,
Packit fabffb
	                   NM_802_11_AP_FLAGS_NONE,
Packit fabffb
	                   NM_802_11_AP_SEC_NONE,
Packit fabffb
	                   NM_802_11_AP_SEC_NONE);
Packit fabffb
Packit fabffb
	*wep = make_hash (ssid, mode,
Packit fabffb
	                  NM_802_11_AP_FLAGS_PRIVACY,
Packit fabffb
	                  NM_802_11_AP_SEC_NONE,
Packit fabffb
	                  NM_802_11_AP_SEC_NONE);
Packit fabffb
Packit fabffb
	*wpa = make_hash (ssid, mode,
Packit fabffb
	                  NM_802_11_AP_FLAGS_PRIVACY,
Packit fabffb
	                  NM_802_11_AP_SEC_PAIR_TKIP |
Packit fabffb
	                      NM_802_11_AP_SEC_GROUP_TKIP |
Packit fabffb
	                      NM_802_11_AP_SEC_KEY_MGMT_PSK,
Packit fabffb
	                  NM_802_11_AP_SEC_NONE);
Packit fabffb
Packit fabffb
	*rsn = make_hash (ssid, mode,
Packit fabffb
	                  NM_802_11_AP_FLAGS_PRIVACY,
Packit fabffb
	                  NM_802_11_AP_SEC_NONE,
Packit fabffb
	                  NM_802_11_AP_SEC_PAIR_CCMP |
Packit fabffb
	                      NM_802_11_AP_SEC_GROUP_CCMP |
Packit fabffb
	                      NM_802_11_AP_SEC_KEY_MGMT_PSK);
Packit fabffb
Packit fabffb
	*wpa_rsn = make_hash (ssid, mode,
Packit fabffb
	                      NM_802_11_AP_FLAGS_PRIVACY,
Packit fabffb
	                      NM_802_11_AP_SEC_PAIR_TKIP |
Packit fabffb
	                          NM_802_11_AP_SEC_GROUP_TKIP |
Packit fabffb
	                          NM_802_11_AP_SEC_KEY_MGMT_PSK,
Packit fabffb
	                      NM_802_11_AP_SEC_PAIR_CCMP |
Packit fabffb
	                          NM_802_11_AP_SEC_GROUP_CCMP |
Packit fabffb
	                          NM_802_11_AP_SEC_KEY_MGMT_PSK);
Packit fabffb
}
Packit fabffb
Packit fabffb
static TestData *
Packit fabffb
test_data_new (void)
Packit fabffb
{
Packit fabffb
	TestData *d;
Packit fabffb
Packit fabffb
	d = g_malloc0 (sizeof (TestData));
Packit fabffb
	g_assert (d);
Packit fabffb
Packit fabffb
	make_ssid_hashes ("foobar", NM_802_11_MODE_INFRA,
Packit fabffb
	                  &d->foobar_infra_open,
Packit fabffb
	                  &d->foobar_infra_wep,
Packit fabffb
	                  &d->foobar_infra_wpa,
Packit fabffb
	                  &d->foobar_infra_rsn,
Packit fabffb
	                  &d->foobar_infra_wpa_rsn);
Packit fabffb
Packit fabffb
	make_ssid_hashes ("foobar", NM_802_11_MODE_ADHOC,
Packit fabffb
	                  &d->foobar_adhoc_open,
Packit fabffb
	                  &d->foobar_adhoc_wep,
Packit fabffb
	                  &d->foobar_adhoc_wpa,
Packit fabffb
	                  &d->foobar_adhoc_rsn,
Packit fabffb
	                  &d->foobar_adhoc_wpa_rsn);
Packit fabffb
Packit fabffb
	make_ssid_hashes ("asdf11", NM_802_11_MODE_INFRA,
Packit fabffb
	                  &d->asdf11_infra_open,
Packit fabffb
	                  &d->asdf11_infra_wep,
Packit fabffb
	                  &d->asdf11_infra_wpa,
Packit fabffb
	                  &d->asdf11_infra_rsn,
Packit fabffb
	                  &d->asdf11_infra_wpa_rsn);
Packit fabffb
Packit fabffb
	make_ssid_hashes ("asdf11", NM_802_11_MODE_ADHOC,
Packit fabffb
	                  &d->asdf11_adhoc_open,
Packit fabffb
	                  &d->asdf11_adhoc_wep,
Packit fabffb
	                  &d->asdf11_adhoc_wpa,
Packit fabffb
	                  &d->asdf11_adhoc_rsn,
Packit fabffb
	                  &d->asdf11_adhoc_wpa_rsn);
Packit fabffb
Packit fabffb
	return d;
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_data_free (TestData *d)
Packit fabffb
{
Packit fabffb
	g_free (d->foobar_infra_open);
Packit fabffb
	g_free (d->foobar_infra_wep);
Packit fabffb
	g_free (d->foobar_infra_wpa);
Packit fabffb
	g_free (d->foobar_infra_rsn);
Packit fabffb
	g_free (d->foobar_infra_wpa_rsn);
Packit fabffb
	g_free (d->foobar_adhoc_open);
Packit fabffb
	g_free (d->foobar_adhoc_wep);
Packit fabffb
	g_free (d->foobar_adhoc_wpa);
Packit fabffb
	g_free (d->foobar_adhoc_rsn);
Packit fabffb
	g_free (d->foobar_adhoc_wpa_rsn);
Packit fabffb
Packit fabffb
	g_free (d->asdf11_infra_open);
Packit fabffb
	g_free (d->asdf11_infra_wep);
Packit fabffb
	g_free (d->asdf11_infra_wpa);
Packit fabffb
	g_free (d->asdf11_infra_rsn);
Packit fabffb
	g_free (d->asdf11_infra_wpa_rsn);
Packit fabffb
	g_free (d->asdf11_adhoc_open);
Packit fabffb
	g_free (d->asdf11_adhoc_wep);
Packit fabffb
	g_free (d->asdf11_adhoc_wpa);
Packit fabffb
	g_free (d->asdf11_adhoc_rsn);
Packit fabffb
	g_free (d->asdf11_adhoc_wpa_rsn);
Packit fabffb
Packit fabffb
	g_free (d);
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_infra_adhoc_open (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_infra_open, d->foobar_adhoc_open));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_infra_adhoc_wep (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_infra_wep, d->foobar_adhoc_wep));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_infra_adhoc_wpa (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_infra_wpa, d->foobar_adhoc_wpa));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_infra_adhoc_rsn (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_infra_rsn, d->foobar_adhoc_rsn));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_infra_adhoc_wpa_rsn (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_infra_wpa_rsn, d->foobar_adhoc_wpa_rsn));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_infra_open_wep (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_infra_open, d->foobar_infra_wep));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_infra_open_wpa (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_infra_open, d->foobar_infra_wpa));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_infra_open_rsn (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_infra_open, d->foobar_infra_rsn));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_infra_open_wpa_rsn (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_infra_open, d->foobar_infra_wpa_rsn));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_infra_wep_wpa (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_infra_wep, d->foobar_infra_wpa));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_infra_wep_rsn (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_infra_wep, d->foobar_infra_rsn));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_infra_wep_wpa_rsn (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_infra_wep, d->foobar_infra_wpa_rsn));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_infra_wpa_rsn (TestData *d)
Packit fabffb
{
Packit fabffb
	/* these should be the same as we group all WPA/RSN APs together */
Packit fabffb
	g_assert (!strcmp (d->foobar_infra_wpa, d->foobar_infra_rsn));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_infra_wpa_wpa_rsn (TestData *d)
Packit fabffb
{
Packit fabffb
	/* these should be the same as we group all WPA/RSN APs together */
Packit fabffb
	g_assert (!strcmp (d->foobar_infra_wpa, d->foobar_infra_wpa_rsn));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_infra_rsn_wpa_rsn (TestData *d)
Packit fabffb
{
Packit fabffb
	/* these should be the same as we group all WPA/RSN APs together */
Packit fabffb
	g_assert (!strcmp (d->foobar_infra_rsn, d->foobar_infra_wpa_rsn));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_adhoc_open_wep (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_adhoc_open, d->foobar_adhoc_wep));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_adhoc_open_wpa (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_adhoc_open, d->foobar_adhoc_wpa));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_adhoc_open_rsn (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_adhoc_open, d->foobar_adhoc_rsn));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_adhoc_open_wpa_rsn (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_adhoc_open, d->foobar_adhoc_wpa_rsn));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_adhoc_wep_wpa (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_adhoc_wep, d->foobar_adhoc_wpa));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_adhoc_wep_rsn (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_adhoc_wep, d->foobar_adhoc_rsn));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_adhoc_wep_wpa_rsn (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_adhoc_wep, d->foobar_adhoc_wpa_rsn));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_adhoc_wpa_rsn (TestData *d)
Packit fabffb
{
Packit fabffb
	/* these should be the same as we group all WPA/RSN APs together */
Packit fabffb
	g_assert (!strcmp (d->foobar_adhoc_wpa, d->foobar_adhoc_rsn));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_adhoc_wpa_wpa_rsn (TestData *d)
Packit fabffb
{
Packit fabffb
	/* these should be the same as we group all WPA/RSN APs together */
Packit fabffb
	g_assert (!strcmp (d->foobar_adhoc_wpa, d->foobar_adhoc_wpa_rsn));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_adhoc_rsn_wpa_rsn (TestData *d)
Packit fabffb
{
Packit fabffb
	/* these should be the same as we group all WPA/RSN APs together */
Packit fabffb
	g_assert (!strcmp (d->foobar_adhoc_rsn, d->foobar_adhoc_wpa_rsn));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_foobar_asdf11_infra_open (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_infra_open, d->asdf11_infra_open));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_foobar_asdf11_infra_wep (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_infra_wep, d->asdf11_infra_wep));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_foobar_asdf11_infra_wpa (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_infra_wpa, d->asdf11_infra_wpa));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_foobar_asdf11_infra_rsn (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_infra_rsn, d->asdf11_infra_rsn));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_foobar_asdf11_infra_wpa_rsn (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_infra_wpa_rsn, d->asdf11_infra_wpa_rsn));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_foobar_asdf11_adhoc_open (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_adhoc_open, d->asdf11_adhoc_open));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_foobar_asdf11_adhoc_wep (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_adhoc_wep, d->asdf11_adhoc_wep));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_foobar_asdf11_adhoc_wpa (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_adhoc_wpa, d->asdf11_adhoc_wpa));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_foobar_asdf11_adhoc_rsn (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_adhoc_rsn, d->asdf11_adhoc_rsn));
Packit fabffb
}
Packit fabffb
Packit fabffb
static void
Packit fabffb
test_ap_hash_foobar_asdf11_adhoc_wpa_rsn (TestData *d)
Packit fabffb
{
Packit fabffb
	g_assert (strcmp (d->foobar_adhoc_wpa_rsn, d->asdf11_adhoc_wpa_rsn));
Packit fabffb
}
Packit fabffb
Packit fabffb
NMTST_DEFINE ();
Packit fabffb
Packit fabffb
int
Packit fabffb
main (int argc, char **argv)
Packit fabffb
{
Packit fabffb
	gint result;
Packit fabffb
	TestData *data;
Packit fabffb
Packit fabffb
	nmtst_init (&argc, &argv, TRUE);
Packit fabffb
Packit fabffb
	data = test_data_new ();
Packit fabffb
Packit fabffb
	/* Test that hashes are different with the same SSID but different AP flags */
Packit fabffb
	g_test_add_data_func ("/ap_hash/infra_adhoc/open", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_infra_adhoc_open);
Packit fabffb
	g_test_add_data_func ("/ap_hash/infra_adhoc/wep", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_infra_adhoc_wep);
Packit fabffb
	g_test_add_data_func ("/ap_hash/infra_adhoc/wpa", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_infra_adhoc_wpa);
Packit fabffb
	g_test_add_data_func ("/ap_hash/infra_adhoc/rsn", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_infra_adhoc_rsn);
Packit fabffb
	g_test_add_data_func ("/ap_hash/infra_adhoc/wpa_rsn", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_infra_adhoc_wpa_rsn);
Packit fabffb
Packit fabffb
	g_test_add_data_func ("/ap_hash/infra_open/wep", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_infra_open_wep);
Packit fabffb
	g_test_add_data_func ("/ap_hash/infra_open/wpa", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_infra_open_wpa);
Packit fabffb
	g_test_add_data_func ("/ap_hash/infra_open/rsn", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_infra_open_rsn);
Packit fabffb
	g_test_add_data_func ("/ap_hash/infra_open/wpa_rsn", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_infra_open_wpa_rsn);
Packit fabffb
	g_test_add_data_func ("/ap_hash/infra_wep/wpa", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_infra_wep_wpa);
Packit fabffb
	g_test_add_data_func ("/ap_hash/infra_wep/rsn", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_infra_wep_rsn);
Packit fabffb
	g_test_add_data_func ("/ap_hash/infra_wep/wpa_rsn", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_infra_wep_wpa_rsn);
Packit fabffb
Packit fabffb
	g_test_add_data_func ("/ap_hash/adhoc_open/wep", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_adhoc_open_wep);
Packit fabffb
	g_test_add_data_func ("/ap_hash/adhoc_open/wpa", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_adhoc_open_wpa);
Packit fabffb
	g_test_add_data_func ("/ap_hash/adhoc_open/rsn", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_adhoc_open_rsn);
Packit fabffb
	g_test_add_data_func ("/ap_hash/adhoc_open/wpa_rsn", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_adhoc_open_wpa_rsn);
Packit fabffb
	g_test_add_data_func ("/ap_hash/adhoc_wep/wpa", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_adhoc_wep_wpa);
Packit fabffb
	g_test_add_data_func ("/ap_hash/adhoc_wep/rsn", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_adhoc_wep_rsn);
Packit fabffb
	g_test_add_data_func ("/ap_hash/adhoc_wep/wpa_rsn", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_adhoc_wep_wpa_rsn);
Packit fabffb
Packit fabffb
	/* Test that wpa, rsn, and wpa_rsn all have the same hash */
Packit fabffb
	g_test_add_data_func ("/ap_hash/infra_wpa/rsn", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_infra_wpa_rsn);
Packit fabffb
	g_test_add_data_func ("/ap_hash/infra_wpa/wpa_rsn", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_infra_wpa_wpa_rsn);
Packit fabffb
	g_test_add_data_func ("/ap_hash/infra_rsn/wpa_rsn", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_infra_rsn_wpa_rsn);
Packit fabffb
	g_test_add_data_func ("/ap_hash/adhoc/rsn", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_adhoc_wpa_rsn);
Packit fabffb
	g_test_add_data_func ("/ap_hash/adhoc_wpa/wpa_rsn", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_adhoc_wpa_wpa_rsn);
Packit fabffb
	g_test_add_data_func ("/ap_hash/adhoc_rsn/wpa_rsn", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_adhoc_rsn_wpa_rsn);
Packit fabffb
Packit fabffb
	/* Test that hashes are different with the same AP flags but different SSID */
Packit fabffb
	g_test_add_data_func ("/ap_hash/foobar_asdf11/infra_open", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_foobar_asdf11_infra_open);
Packit fabffb
	g_test_add_data_func ("/ap_hash/foobar_asdf11/infra_wep", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_foobar_asdf11_infra_wep);
Packit fabffb
	g_test_add_data_func ("/ap_hash/foobar_asdf11/infra_wpa", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_foobar_asdf11_infra_wpa);
Packit fabffb
	g_test_add_data_func ("/ap_hash/foobar_asdf11/infra_rsn", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_foobar_asdf11_infra_rsn);
Packit fabffb
	g_test_add_data_func ("/ap_hash/foobar_asdf11/infra_wpa_rsn", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_foobar_asdf11_infra_wpa_rsn);
Packit fabffb
Packit fabffb
	g_test_add_data_func ("/ap_hash/foobar_asdf11/adhoc_open", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_foobar_asdf11_adhoc_open);
Packit fabffb
	g_test_add_data_func ("/ap_hash/foobar_asdf11/adhoc_wep", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_foobar_asdf11_adhoc_wep);
Packit fabffb
	g_test_add_data_func ("/ap_hash/foobar_asdf11/adhoc_wpa", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_foobar_asdf11_adhoc_wpa);
Packit fabffb
	g_test_add_data_func ("/ap_hash/foobar_asdf11/adhoc_rsn", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_foobar_asdf11_adhoc_rsn);
Packit fabffb
	g_test_add_data_func ("/ap_hash/foobar_asdf11/adhoc_wpa_rsn", data,
Packit fabffb
	                      (GTestDataFunc) test_ap_hash_foobar_asdf11_adhoc_wpa_rsn);
Packit fabffb
Packit fabffb
	result = g_test_run ();
Packit fabffb
Packit fabffb
	test_data_free (data);
Packit fabffb
Packit fabffb
	return result;
Packit fabffb
}
Packit fabffb