Dependencies:   MMA7660 LM75B

Committer:
MACRUM
Date:
Sat Jun 30 01:40:30 2018 +0000
Revision:
0:119624335925
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MACRUM 0:119624335925 1 #include "mbed.h"
MACRUM 0:119624335925 2 #include "greentea-client/test_env.h"
MACRUM 0:119624335925 3 #include "unity.h"
MACRUM 0:119624335925 4 #include "utest.h"
MACRUM 0:119624335925 5 #include "WizFi310Interface.h"
MACRUM 0:119624335925 6
MACRUM 0:119624335925 7 using namespace utest::v1;
MACRUM 0:119624335925 8
MACRUM 0:119624335925 9 // Hostname for testing against
MACRUM 0:119624335925 10 // Must have A and AAAA records
MACRUM 0:119624335925 11 #ifndef MBED_DNS_TEST_HOST
MACRUM 0:119624335925 12 #define MBED_DNS_TEST_HOST "connector.mbed.com"
MACRUM 0:119624335925 13 #endif
MACRUM 0:119624335925 14
MACRUM 0:119624335925 15 #ifndef MBED_CFG_WIZFI310_TX
MACRUM 0:119624335925 16 #define MBED_CFG_WIZFI310_TX D1
MACRUM 0:119624335925 17 #endif
MACRUM 0:119624335925 18
MACRUM 0:119624335925 19 #ifndef MBED_CFG_WIZFI310_RX
MACRUM 0:119624335925 20 #define MBED_CFG_WIZFI310_RX D0
MACRUM 0:119624335925 21 #endif
MACRUM 0:119624335925 22
MACRUM 0:119624335925 23 #ifndef MBED_CFG_WIZFI310_DEBUG
MACRUM 0:119624335925 24 #define MBED_CFG_WIZFI310_DEBUG false
MACRUM 0:119624335925 25 #endif
MACRUM 0:119624335925 26
MACRUM 0:119624335925 27 #define STRINGIZE(x) STRINGIZE2(x)
MACRUM 0:119624335925 28 #define STRINGIZE2(x) #x
MACRUM 0:119624335925 29
MACRUM 0:119624335925 30 // Address info from stack
MACRUM 0:119624335925 31 const char *ip_literal;
MACRUM 0:119624335925 32 nsapi_version_t ip_pref;
MACRUM 0:119624335925 33 const char *ip_pref_repr;
MACRUM 0:119624335925 34
MACRUM 0:119624335925 35 // Network setup
MACRUM 0:119624335925 36 WizFi310Interface net(MBED_CFG_WIZFI310_TX, MBED_CFG_WIZFI310_RX, MBED_CFG_WIZFI310_DEBUG);
MACRUM 0:119624335925 37 void net_bringup() {
MACRUM 0:119624335925 38 int err = net.connect(STRINGIZE(MBED_CFG_WIZFI310_SSID), STRINGIZE(MBED_CFG_WIZFI310_PASS));
MACRUM 0:119624335925 39 TEST_ASSERT_EQUAL(0, err);
MACRUM 0:119624335925 40 printf("MBED: Connected to network\n");
MACRUM 0:119624335925 41 printf("MBED: IP Address: %s\n", net.get_ip_address());
MACRUM 0:119624335925 42
MACRUM 0:119624335925 43 ip_literal = net.get_ip_address();
MACRUM 0:119624335925 44 ip_pref = SocketAddress(ip_literal).get_ip_version();
MACRUM 0:119624335925 45 ip_pref_repr = (ip_pref == NSAPI_IPv4) ? "ipv4" :
MACRUM 0:119624335925 46 (ip_pref == NSAPI_IPv6) ? "ipv6" : "unspec";
MACRUM 0:119624335925 47 }
MACRUM 0:119624335925 48
MACRUM 0:119624335925 49
MACRUM 0:119624335925 50 // DNS tests
MACRUM 0:119624335925 51 void test_dns_query() {
MACRUM 0:119624335925 52 SocketAddress addr;
MACRUM 0:119624335925 53 int err = net.gethostbyname(MBED_DNS_TEST_HOST, &addr);
MACRUM 0:119624335925 54 printf("DNS: query \"%s\" => \"%s\"\n",
MACRUM 0:119624335925 55 MBED_DNS_TEST_HOST, addr.get_ip_address());
MACRUM 0:119624335925 56
MACRUM 0:119624335925 57 TEST_ASSERT_EQUAL(0, err);
MACRUM 0:119624335925 58 TEST_ASSERT((bool)addr);
MACRUM 0:119624335925 59 TEST_ASSERT(strlen(addr.get_ip_address()) > 1);
MACRUM 0:119624335925 60 }
MACRUM 0:119624335925 61
MACRUM 0:119624335925 62 void test_dns_query_pref() {
MACRUM 0:119624335925 63 SocketAddress addr;
MACRUM 0:119624335925 64 int err = net.gethostbyname(MBED_DNS_TEST_HOST, &addr, ip_pref);
MACRUM 0:119624335925 65 printf("DNS: query %s \"%s\" => \"%s\"\n",
MACRUM 0:119624335925 66 ip_pref_repr, MBED_DNS_TEST_HOST, addr.get_ip_address());
MACRUM 0:119624335925 67
MACRUM 0:119624335925 68 TEST_ASSERT_EQUAL(0, err);
MACRUM 0:119624335925 69 TEST_ASSERT((bool)addr);
MACRUM 0:119624335925 70 TEST_ASSERT(strlen(addr.get_ip_address()) > 1);
MACRUM 0:119624335925 71 TEST_ASSERT_EQUAL(ip_pref, addr.get_ip_version());
MACRUM 0:119624335925 72 }
MACRUM 0:119624335925 73
MACRUM 0:119624335925 74 void test_dns_literal() {
MACRUM 0:119624335925 75 SocketAddress addr;
MACRUM 0:119624335925 76 int err = net.gethostbyname(ip_literal, &addr);
MACRUM 0:119624335925 77 printf("DNS: literal \"%s\" => \"%s\"\n",
MACRUM 0:119624335925 78 ip_literal, addr.get_ip_address());
MACRUM 0:119624335925 79
MACRUM 0:119624335925 80 TEST_ASSERT_EQUAL(0, err);
MACRUM 0:119624335925 81 TEST_ASSERT((bool)addr);
MACRUM 0:119624335925 82 TEST_ASSERT(strlen(addr.get_ip_address()) > 1);
MACRUM 0:119624335925 83 TEST_ASSERT(strcmp(ip_literal, addr.get_ip_address()) == 0);
MACRUM 0:119624335925 84 }
MACRUM 0:119624335925 85
MACRUM 0:119624335925 86 void test_dns_literal_pref() {
MACRUM 0:119624335925 87 SocketAddress addr;
MACRUM 0:119624335925 88 int err = net.gethostbyname(ip_literal, &addr, ip_pref);
MACRUM 0:119624335925 89 printf("DNS: literal %s \"%s\" => \"%s\"\n",
MACRUM 0:119624335925 90 ip_pref_repr, ip_literal, addr.get_ip_address());
MACRUM 0:119624335925 91
MACRUM 0:119624335925 92 TEST_ASSERT_EQUAL(0, err);
MACRUM 0:119624335925 93 TEST_ASSERT((bool)addr);
MACRUM 0:119624335925 94 TEST_ASSERT(strlen(addr.get_ip_address()) > 1);
MACRUM 0:119624335925 95 TEST_ASSERT_EQUAL(ip_pref, addr.get_ip_version());
MACRUM 0:119624335925 96 TEST_ASSERT(strcmp(ip_literal, addr.get_ip_address()) == 0);
MACRUM 0:119624335925 97 }
MACRUM 0:119624335925 98
MACRUM 0:119624335925 99
MACRUM 0:119624335925 100 // Test setup
MACRUM 0:119624335925 101 utest::v1::status_t test_setup(const size_t number_of_cases) {
MACRUM 0:119624335925 102 GREENTEA_SETUP(120, "default_auto");
MACRUM 0:119624335925 103 net_bringup();
MACRUM 0:119624335925 104 return verbose_test_setup_handler(number_of_cases);
MACRUM 0:119624335925 105 }
MACRUM 0:119624335925 106
MACRUM 0:119624335925 107 Case cases[] = {
MACRUM 0:119624335925 108 Case("DNS query", test_dns_query),
MACRUM 0:119624335925 109 Case("DNS preference query", test_dns_query_pref),
MACRUM 0:119624335925 110 Case("DNS literal", test_dns_literal),
MACRUM 0:119624335925 111 Case("DNS preference literal", test_dns_literal_pref),
MACRUM 0:119624335925 112 };
MACRUM 0:119624335925 113
MACRUM 0:119624335925 114 Specification specification(test_setup, cases);
MACRUM 0:119624335925 115
MACRUM 0:119624335925 116 int main() {
MACRUM 0:119624335925 117 return !Harness::run(specification);
MACRUM 0:119624335925 118 }