From 8e81d0153a23e37d99fadcfa0be601c8fa00a1d0 Mon Sep 17 00:00:00 2001 From: Juha Ylinen Date: Fri, 4 May 2018 12:23:55 +0300 Subject: [PATCH] Update Greentea WiFi tests Use similar network interface configuration as used in netsocket tests Improve test coverage --- TESTS/network/wifi/get_interface.cpp | 41 ++++--------------- TESTS/network/wifi/main.cpp | 10 ++--- TESTS/network/wifi/template_mbed_app.txt | 15 +++---- .../network/wifi/wifi_connect_params_null.cpp | 1 + .../wifi_connect_params_valid_unsecure.cpp | 3 ++ TESTS/network/wifi/wifi_set_channel.cpp | 2 +- TESTS/network/wifi/wifi_set_credential.cpp | 12 ++++++ 7 files changed, 33 insertions(+), 51 deletions(-) diff --git a/TESTS/network/wifi/get_interface.cpp b/TESTS/network/wifi/get_interface.cpp index bc464e2de1..fe3a395dc3 100644 --- a/TESTS/network/wifi/get_interface.cpp +++ b/TESTS/network/wifi/get_interface.cpp @@ -15,36 +15,12 @@ * limitations under the License. */ +#ifndef MBED_CONF_APP_OBJECT_CONSTRUCTION + #error [NOT_SUPPORTED] No network interface found for this target. +#endif + #include "mbed.h" - -// Pick the correct driver based on mbed_app.json -#define INTERNAL 1 -#define WIFI_ESP8266 2 -#define X_NUCLEO_IDW0XX1 3 - -#if MBED_CONF_APP_WIFI_DRIVER == INTERNAL - -#if TARGET_UBLOX_EVK_ODIN_W2 -#include "OdinWiFiInterface.h" -#define DRIVER OdinWiFiInterface - -#elif TARGET_REALTEK_RTL8195AM -#include "RTWInterface.h" -#define DRIVER RTWInterface -#else -#error [NOT_SUPPORTED] Unsupported Wifi driver -#endif - -#elif MBED_CONF_APP_WIFI_DRIVER == WIFI_ESP8266 -#include "ESP8266Interface.h" -#define DRIVER ESP8266Interface - -#elif MBED_CONF_APP_WIFI_DRIVER == X_NUCLEO_IDW0XX1 -#include "SpwfSAInterface.h" -#define DRIVER SpwfSAInterface -#else -#error [NOT_SUPPORTED] Unsupported Wifi driver -#endif +#include MBED_CONF_APP_HEADER_FILE WiFiInterface *get_interface() { @@ -55,10 +31,7 @@ WiFiInterface *get_interface() return interface; } -#if MBED_CONF_APP_WIFI_DRIVER == INTERNAL - interface = new DRIVER(); -#else - interface = new DRIVER(MBED_CONF_APP_WIFI_TX, MBED_CONF_APP_WIFI_RX); -#endif + interface = MBED_CONF_APP_OBJECT_CONSTRUCTION; + return interface; } diff --git a/TESTS/network/wifi/main.cpp b/TESTS/network/wifi/main.cpp index 38d311d6b9..1388b9f27a 100644 --- a/TESTS/network/wifi/main.cpp +++ b/TESTS/network/wifi/main.cpp @@ -15,6 +15,10 @@ * limitations under the License. */ +#ifndef MBED_CONF_APP_OBJECT_CONSTRUCTION + #error [NOT_SUPPORTED] No network interface found for this target. +#endif + #include "mbed.h" #include "greentea-client/test_env.h" #include "unity.h" @@ -26,11 +30,8 @@ #if !defined(MBED_CONF_APP_AP_MAC_SECURE) || \ !defined(MBED_CONF_APP_MAX_SCAN_SIZE) || \ !defined(MBED_CONF_APP_WIFI_CH_SECURE) || \ - !defined(MBED_CONF_APP_WIFI_DRIVER) || \ !defined(MBED_CONF_APP_WIFI_PASSWORD) || \ - !defined(MBED_CONF_APP_WIFI_RX) || \ !defined(MBED_CONF_APP_WIFI_SECURE_SSID) || \ - !defined(MBED_CONF_APP_WIFI_TX) || \ !defined MBED_CONF_APP_WIFI_SECURE_PROTOCOL #error [NOT_SUPPORTED] Requires parameters from mbed_app.json (for secure connections) #endif @@ -40,10 +41,7 @@ #if !defined(MBED_CONF_APP_AP_MAC_UNSECURE) || \ !defined(MBED_CONF_APP_MAX_SCAN_SIZE) || \ !defined(MBED_CONF_APP_WIFI_CH_UNSECURE) || \ - !defined(MBED_CONF_APP_WIFI_DRIVER) || \ !defined(MBED_CONF_APP_WIFI_PASSWORD) || \ - !defined(MBED_CONF_APP_WIFI_RX) || \ - !defined(MBED_CONF_APP_WIFI_TX) || \ !defined(MBED_CONF_APP_WIFI_UNSECURE_SSID) #error [NOT_SUPPORTED] Requires parameters from mbed_app.json (for unsecure connections) #endif diff --git a/TESTS/network/wifi/template_mbed_app.txt b/TESTS/network/wifi/template_mbed_app.txt index 6c680422e5..5f6331db3e 100644 --- a/TESTS/network/wifi/template_mbed_app.txt +++ b/TESTS/network/wifi/template_mbed_app.txt @@ -24,17 +24,12 @@ "help": "Channel number of unsecure SSID", "value": 2 }, - "wifi-driver": { - "help": "Wifi driver to use, valid values are INTERNAL, WIFI_ESP8266 and X_NUCLEO_IDW0XX1", - "value": "INTERNAL" + "header-file": { + "help" : "String for including your driver header file", + "value" : "\"WIFI_INTERFACE.h\"" }, - "wifi-tx": { - "help": "TX pin for serial connection to external device", - "value": "D1" - }, - "wifi-rx": { - "help": "RX pin for serial connection to external device", - "value": "D0" + "object-construction" : { + "value" : "new WIFI_INTERFACE()" }, "ap-mac-secure": { "help": "BSSID of secure AP in form of AA:BB:CC:DD:EE:FF", diff --git a/TESTS/network/wifi/wifi_connect_params_null.cpp b/TESTS/network/wifi/wifi_connect_params_null.cpp index 6a471bd604..f1a44ee33d 100644 --- a/TESTS/network/wifi/wifi_connect_params_null.cpp +++ b/TESTS/network/wifi/wifi_connect_params_null.cpp @@ -27,4 +27,5 @@ void wifi_connect_params_null(void) { WiFiInterface *wifi = get_interface(); TEST_ASSERT_EQUAL_INT(NSAPI_ERROR_PARAMETER, wifi->connect(NULL, NULL)); + TEST_ASSERT_EQUAL_INT(NSAPI_ERROR_PARAMETER, wifi->connect("", "")); } diff --git a/TESTS/network/wifi/wifi_connect_params_valid_unsecure.cpp b/TESTS/network/wifi/wifi_connect_params_valid_unsecure.cpp index 91d8f144ea..b7e7f9ee6e 100644 --- a/TESTS/network/wifi/wifi_connect_params_valid_unsecure.cpp +++ b/TESTS/network/wifi/wifi_connect_params_valid_unsecure.cpp @@ -29,6 +29,9 @@ void wifi_connect_params_valid_unsecure(void) { WiFiInterface *wifi = get_interface(); TEST_ASSERT_EQUAL_INT(NSAPI_ERROR_OK, wifi->connect(MBED_CONF_APP_WIFI_UNSECURE_SSID, NULL)); + TEST_ASSERT_EQUAL_INT(NSAPI_ERROR_OK, wifi->disconnect()); + TEST_ASSERT_EQUAL_INT(NSAPI_ERROR_OK, wifi->connect(MBED_CONF_APP_WIFI_UNSECURE_SSID, "")); + TEST_ASSERT_EQUAL_INT(NSAPI_ERROR_OK, wifi->disconnect()); } #endif // defined(MBED_CONF_APP_WIFI_UNSECURE_SSID) diff --git a/TESTS/network/wifi/wifi_set_channel.cpp b/TESTS/network/wifi/wifi_set_channel.cpp index ecb7915004..53ce93e18c 100644 --- a/TESTS/network/wifi/wifi_set_channel.cpp +++ b/TESTS/network/wifi/wifi_set_channel.cpp @@ -51,7 +51,7 @@ void wifi_set_channel(void) if (is_2Ghz) { error = wifi->set_channel(0); - TEST_ASSERT(error == NSAPI_ERROR_PARAMETER); + TEST_ASSERT(error == NSAPI_ERROR_OK); error = wifi->set_channel(1); TEST_ASSERT(error == NSAPI_ERROR_OK); error = wifi->set_channel(13); diff --git a/TESTS/network/wifi/wifi_set_credential.cpp b/TESTS/network/wifi/wifi_set_credential.cpp index ae03a2d85d..cf659a81d4 100644 --- a/TESTS/network/wifi/wifi_set_credential.cpp +++ b/TESTS/network/wifi/wifi_set_credential.cpp @@ -31,15 +31,27 @@ void wifi_set_credential(void) error = iface->set_credentials(NULL, NULL, NSAPI_SECURITY_NONE); TEST_ASSERT(error == NSAPI_ERROR_PARAMETER); + error = iface->set_credentials("", "", NSAPI_SECURITY_NONE); + TEST_ASSERT(error == NSAPI_ERROR_PARAMETER); + error = iface->set_credentials("OK", NULL, NSAPI_SECURITY_NONE); TEST_ASSERT(error == NSAPI_ERROR_OK); + error = iface->set_credentials("OK", "", NSAPI_SECURITY_NONE); + TEST_ASSERT(error == NSAPI_ERROR_OK); + error = iface->set_credentials("OK", NULL, NSAPI_SECURITY_WEP); TEST_ASSERT(error == NSAPI_ERROR_PARAMETER); + error = iface->set_credentials("OK", "", NSAPI_SECURITY_WEP); + TEST_ASSERT(error == NSAPI_ERROR_PARAMETER); + error = iface->set_credentials("OK", NULL, NSAPI_SECURITY_WPA_WPA2); TEST_ASSERT(error == NSAPI_ERROR_PARAMETER); + error = iface->set_credentials("OK", "", NSAPI_SECURITY_WPA_WPA2); + TEST_ASSERT(error == NSAPI_ERROR_PARAMETER); + error = iface->set_credentials("OK", NULL, NSAPI_SECURITY_NONE); TEST_ASSERT(error == NSAPI_ERROR_OK);