Vodafone Test Suite
Dependencies: mbed-rtos mbed HTTPClient VodafoneUSBModem
Tests/Test02.h
- Committer:
- ashleymills
- Date:
- 2014-01-29
- Revision:
- 74:e52ac9624f7f
- Parent:
- 66:6b00a764e549
File content as of revision 74:e52ac9624f7f:
#pragma once #include "VodafoneTestCase.h" // 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. extern const char *gTest02Description; extern const char *gAlphabetNumbersMessage; class Test02 : public VodafoneTestCase { public: char num[17]; char msg[160]; size_t count; Test02(VodafoneUSBModem *m) : VodafoneTestCase(m) {} private: virtual bool executeTest() { LOG(gTest02Description); 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); if (strcmp (msg, gAlphabetNumbersMessage) ==0) { LOG("Success receiving alphabet message matches the sent message"); return true; } return false; } Thread::wait(500); } } };