Vodafone Test Suite
Dependencies: mbed-rtos mbed HTTPClient VodafoneUSBModem
Revision 17:28443b768f1c, committed 2012-08-30
- Comitter:
- nherriot
- Date:
- Thu Aug 30 14:14:39 2012 +0000
- Parent:
- 14:d7bf58146337
- Parent:
- 16:c89d426c6175
- Child:
- 18:5af468a9439c
- Commit message:
- merging log text
Changed in this revision
Tests/Test20.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/TestManager.cpp Thu Aug 30 10:49:50 2012 +0000 +++ b/TestManager.cpp Thu Aug 30 14:14:39 2012 +0000 @@ -3,6 +3,7 @@ TestManager::TestManager(VodafoneUSBModem *m) : _modem(m) { _tests.push_back((VodafoneTestCase*)new Test20(_modem, 20)); _tests.push_back((VodafoneTestCase*)new Test12(_modem, 12)); + _tests.push_back((VodafoneTestCase*)new Test13(_modem, 13)); // _tests.push_back((VodafoneTestCase*)new Test50(_modem, 50)); }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Tests/Test13.h Thu Aug 30 14:14:39 2012 +0000 @@ -0,0 +1,65 @@ +#pragma once +#include "VodafoneTestCase.h" + +#define TEST_PHONE_NUMBER "+447717275049" + +// this test case will wait to receive an SMS from the modem. +// if the method that reports a message waiting returns an error it will fail. +// if the method that returns the message from the mailbox returns an error it will fai. +// it will report the test as failed if any of the above happens. +// it waits forever for an SMS. +// TODO: this should wait for a set time before failing. + + +class Test13 : public VodafoneTestCase { + public: + + char num[17]; + char msg[64]; + size_t count; + + + Test13(VodafoneUSBModem *m, int tcNumber) : VodafoneTestCase(m, tcNumber) { + } + + virtual bool runTest() { + LOG("Test %d waiting for an SMS message...", _testCaseNumber); + LOG("Receiving SMS from test phone, waiting for response."); + + while(true) + { + LOG("Waiting for an SMS message..."); + int ret = _modem->getSMCount(&count); + if(ret) + { + LOG("getSMCount returned %d", ret); + Thread::wait(3000); + continue; + } + + if( count > 0) + { + LOG("%d SMS to read", count); + ret = _modem->getSM(num, msg, 64); + if(ret) + { + LOG("Error receiving sms. The method getSMS returned %d", ret); + return false; + } + LOG("The message is from number: %s and the message is: \"%s\"", num, msg); + return true; + } + Thread::wait(500); + } + + } + + private: + char gsm03dot38CharacterSet[127]; + // gsm03dot38CharacterSet="@£$¥èéùìòÇØøÅåΔ_ΦΓΛΩΠΨΣΘΞÆæßÉ !“#¤%&‘()*+,-./0123456789:;<=>?¡ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÑܧ¿abcdefghijklmnopqrstuvwxyzäöñüà"; + + + + + +}; \ No newline at end of file
--- a/Tests/Test20.h Thu Aug 30 10:49:50 2012 +0000 +++ b/Tests/Test20.h Thu Aug 30 14:14:39 2012 +0000 @@ -10,8 +10,8 @@ } virtual bool runTest() { - LOG("Test %d trying out USSD communication", _testCaseNumber); - LOG("Sending USSD, waiting for response."); + + LOG("Test %d trying out USSD communication sending *#100#", _testCaseNumber); if(_modem->sendUSSD("*#100#",_ussdResponse,16)!=0) { LOG("Error sending USSD");
--- a/Tests/Test50.h Thu Aug 30 10:49:50 2012 +0000 +++ b/Tests/Test50.h Thu Aug 30 14:14:39 2012 +0000 @@ -18,7 +18,7 @@ virtual bool runTest() { int numIterations = 10; size_t smCount; - LOG("Test %d waiting for an SMS message...", _testCaseNumber); + LOG("Test %d getting MSISDN and sending SMS to myself...", _testCaseNumber); LOG("Getting MSISDN"); _modem->sendUSSD("*#100#",_ownNumber,_numberLen); LOG("Got MSISDN %s",_ownNumber);
--- a/Tests/Tests.h Thu Aug 30 10:49:50 2012 +0000 +++ b/Tests/Tests.h Thu Aug 30 14:14:39 2012 +0000 @@ -1,4 +1,5 @@ #pragma once #include "Test12.h" +#include "Test13.h" #include "Test20.h" #include "Test50.h" \ No newline at end of file