Vodafone Test Suite

Dependencies:   mbed-rtos mbed HTTPClient VodafoneUSBModem

Committer:
ashleymills
Date:
Mon Sep 03 16:02:58 2012 +0000
Revision:
19:26fbed33d4e7
Parent:
12:b50d37429dff
Child:
20:18373fb68ad7
Added another USSD test. Changed the framework so a list of tests is passed to the execution function.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ashleymills 1:0d63e4db8503 1 #define __DEBUG__ 4 //Maximum verbosity
ashleymills 1:0d63e4db8503 2 #ifndef __MODULE__
ashleymills 1:0d63e4db8503 3 #define __MODULE__ "net_3g_basic_http_test.cpp"
ashleymills 1:0d63e4db8503 4 #endif
ashleymills 1:0d63e4db8503 5
ashleymills 2:ea883307d02f 6 #include "LogHeader.h"
ashleymills 2:ea883307d02f 7
ashleymills 1:0d63e4db8503 8 #include "mbed.h"
ashleymills 1:0d63e4db8503 9 #include "socket/bsd_socket.h"
ashleymills 1:0d63e4db8503 10 #include "rtos.h"
ashleymills 1:0d63e4db8503 11 #include "VodafoneUSBModem.h"
ashleymills 1:0d63e4db8503 12 #include "VodafoneTestCase.h"
ashleymills 3:28336c2e94e4 13 #include "Tests.h"
ashleymills 2:ea883307d02f 14 #include "TestManager.h"
ashleymills 1:0d63e4db8503 15
ashleymills 1:0d63e4db8503 16 DigitalOut led1(LED1);
ashleymills 1:0d63e4db8503 17 DigitalOut led2(LED2);
ashleymills 1:0d63e4db8503 18 DigitalOut led3(LED3);
ashleymills 1:0d63e4db8503 19 DigitalOut led4(LED4);
ashleymills 1:0d63e4db8503 20
ashleymills 1:0d63e4db8503 21 extern "C" void HardFault_Handler() { error("Hard Fault!\n"); }
ashleymills 1:0d63e4db8503 22
ashleymills 1:0d63e4db8503 23 void test(void const*) {
ashleymills 1:0d63e4db8503 24 VodafoneUSBModem modem;
ashleymills 2:ea883307d02f 25 LOG("Constructing TestManager");
ashleymills 2:ea883307d02f 26 TestManager *m = new TestManager(&modem);
ashleymills 19:26fbed33d4e7 27 LOG("Running all automated tests");
ashleymills 19:26fbed33d4e7 28
ashleymills 19:26fbed33d4e7 29 int numPassed = m->executeTestList(gAutomatedTests,gNumAutomatedTests);
ashleymills 19:26fbed33d4e7 30 LOG("%d tests complete: %d passes and %d failures.",
ashleymills 19:26fbed33d4e7 31 gNumAutomatedTests,numPassed,gNumAutomatedTests-numPassed);
ashleymills 1:0d63e4db8503 32
ashleymills 1:0d63e4db8503 33 while(1) {
ashleymills 1:0d63e4db8503 34 Thread::wait(1000);
ashleymills 1:0d63e4db8503 35 }
ashleymills 1:0d63e4db8503 36 }
ashleymills 1:0d63e4db8503 37
ashleymills 3:28336c2e94e4 38 time_t startTime = 0;
ashleymills 3:28336c2e94e4 39
ashleymills 3:28336c2e94e4 40 void setTime() {
ashleymills 3:28336c2e94e4 41 struct tm t;
ashleymills 3:28336c2e94e4 42 t.tm_year = 2012;
ashleymills 3:28336c2e94e4 43 t.tm_mon = 8;
ashleymills 3:28336c2e94e4 44 t.tm_mday = 23;
ashleymills 3:28336c2e94e4 45 t.tm_hour = 9;
ashleymills 3:28336c2e94e4 46 t.tm_min = 19;
ashleymills 3:28336c2e94e4 47 t.tm_sec = 0;
ashleymills 3:28336c2e94e4 48 t.tm_year -= 1900;
ashleymills 3:28336c2e94e4 49 t.tm_mon -= 1;
ashleymills 3:28336c2e94e4 50 set_time(mktime(&t));
ashleymills 3:28336c2e94e4 51 }
ashleymills 3:28336c2e94e4 52
ashleymills 1:0d63e4db8503 53 int main() {
ashleymills 1:0d63e4db8503 54
ashleymills 1:0d63e4db8503 55 DBG_INIT();
ashleymills 1:0d63e4db8503 56 DBG_SET_SPEED(115200);
ashleymills 1:0d63e4db8503 57 DBG_SET_NEWLINE("\r\n");
ashleymills 1:0d63e4db8503 58
ashleymills 3:28336c2e94e4 59 //setTime();
ashleymills 3:28336c2e94e4 60 size_t currentTime = time(NULL);
ashleymills 3:28336c2e94e4 61 fprintf(stdout,"Invocation time: %s\r\n",ctime(&currentTime));
ashleymills 3:28336c2e94e4 62
ashleymills 3:28336c2e94e4 63
ashleymills 4:1f8e079924ba 64 Thread testTask(test, NULL, osPriorityNormal, 1024 * 6);
ashleymills 1:0d63e4db8503 65 // this thread just waits and blinks leds periodically
ashleymills 1:0d63e4db8503 66 while(1) {
ashleymills 1:0d63e4db8503 67 led1 = !led1;
ashleymills 1:0d63e4db8503 68 Thread::wait(500);
ashleymills 1:0d63e4db8503 69 led1 = !led1;
ashleymills 1:0d63e4db8503 70 Thread::wait(30000);
ashleymills 1:0d63e4db8503 71 }
ashleymills 0:6d8a9f4b2cc6 72 }