Add test programs for checking libwpa_client linking
authorJouni Malinen <j@w1.fi>
Sat, 31 Oct 2015 17:11:09 +0000 (19:11 +0200)
committerJouni Malinen <j@w1.fi>
Sat, 31 Oct 2015 19:56:59 +0000 (21:56 +0200)
libwpa_test1 and libwpa_test2 targets can now be used to check
libwpa_client linking for static and shared library cases respectively.

Signed-off-by: Jouni Malinen <j@w1.fi>
.gitignore
wpa_supplicant/Makefile
wpa_supplicant/tests/libwpa_test.c [new file with mode: 0644]

index ae624c9..1291239 100644 (file)
@@ -19,6 +19,8 @@ wpa_supplicant/wpa_gui/Makefile
 wpa_supplicant/wpa_gui/wpa_gui
 wpa_supplicant/wpa_gui-qt4/Makefile
 wpa_supplicant/wpa_gui-qt4/wpa_gui
+wpa_supplicant/libwpa_test1
+wpa_supplicant/libwpa_test2
 hostapd/hostapd
 hostapd/hostapd_cli
 hostapd/hlr_auc_gw
index ad7dd8d..86bdfc6 100644 (file)
@@ -1722,6 +1722,14 @@ libwpa_client.so: $(LIBCTRLSO)
        @$(E) "  CC  $@ ($^)"
        $(Q)$(CC) $(LDFLAGS) -o $@ $(CFLAGS) -shared -fPIC $^
 
+libwpa_test1: tests/libwpa_test.o libwpa_client.a
+       $(Q)$(LDO) $(LDFLAGS) -o libwpa_test1 tests/libwpa_test.o libwpa_client.a $(LIBS_c)
+       @$(E) "  LD " $@
+
+libwpa_test2: tests/libwpa_test.o libwpa_client.so
+       $(Q)$(LDO) $(LDFLAGS) -o libwpa_test2 tests/libwpa_test.o -L. -lwpa_client $(LIBS_c)
+       @$(E) "  LD " $@
+
 link_test: $(OBJS) $(OBJS_h) tests/link_test.o
        $(Q)$(LDO) $(LDFLAGS) -o link_test $(OBJS) $(OBJS_h) tests/link_test.o $(LIBS)
        @$(E) "  LD " $@
@@ -1843,5 +1851,6 @@ clean:
        rm -rf lcov-html
        rm -f libwpa_client.a
        rm -f libwpa_client.so
+       rm -f libwpa_test1 libwpa_test2
 
 -include $(OBJS:%.o=%.d)
diff --git a/wpa_supplicant/tests/libwpa_test.c b/wpa_supplicant/tests/libwpa_test.c
new file mode 100644 (file)
index 0000000..e51ab72
--- /dev/null
@@ -0,0 +1,32 @@
+/*
+ * libwpa_test - Test program for libwpa_client.* library linking
+ * Copyright (c) 2015, Jouni Malinen <j@w1.fi>
+ *
+ * This software may be distributed under the terms of the BSD license.
+ * See README for more details.
+ */
+
+#include "includes.h"
+
+#include "common/wpa_ctrl.h"
+
+int main(int argc, char *argv[])
+{
+       struct wpa_ctrl *ctrl;
+
+       ctrl = wpa_ctrl_open("foo");
+       if (!ctrl)
+               return -1;
+       if (wpa_ctrl_attach(ctrl) == 0)
+               wpa_ctrl_detach(ctrl);
+       if (wpa_ctrl_pending(ctrl)) {
+               char buf[10];
+               size_t len;
+
+               len = sizeof(buf);
+               wpa_ctrl_recv(ctrl, buf, &len);
+       }
+       wpa_ctrl_close(ctrl);
+
+       return 0;
+}