void TestSuite::restartCurrTest() { auto scene = _testCallbacks[_currTestIndex](); auto testCase = getTestCase(scene); testCase->setTestSuite(this); testCase->setTestCaseName(_childTestNames[_currTestIndex]); Director::getInstance()->replaceScene(scene); }
void TestSuite::enterNextTest() { _currTestIndex = (_currTestIndex + 1) % _childTestNames.size(); auto scene = _testCallbacks[_currTestIndex](); auto testCase = getTestCase(scene); testCase->setTestSuite(this); testCase->setTestCaseName(_childTestNames[_currTestIndex]); Director::getInstance()->replaceScene(scene); }
void TestSuite::runThisTest() { if (!_childTestNames.empty()) { TestController::getInstance()->setCurrTestSuite(this); _currTestIndex = 0; auto scene = _testCallbacks[0](); auto testCase = getTestCase(scene); testCase->setTestSuite(this); testCase->setTestCaseName(_childTestNames[_currTestIndex]); Director::getInstance()->replaceScene(scene); } }
void TestSuite::enterPreviousTest() { if (_currTestIndex > 0) { _currTestIndex -= 1; } else { _currTestIndex = (int)_childTestNames.size() - 1; } auto scene = _testCallbacks[_currTestIndex](); auto testCase = getTestCase(scene); testCase->setTestSuite(this); testCase->setTestCaseName(_childTestNames[_currTestIndex]); Director::getInstance()->replaceScene(scene); }
TaskGeneric::ExecutionResult TaskSound::run() { android::String8 id; if (!findStringAttribute(STR_ID, id)) { LOGE("TaskSound::run %s string not found", STR_ID.string()); return TaskGeneric::EResultError; } android::String8 type; if (!findStringAttribute(STR_TYPE, type)) { LOGE("TaskSound::run %s string not found", STR_TYPE.string()); return TaskGeneric::EResultError; } UniquePtr<std::vector<android::String8> > tokens(StringUtil::split(type, ':')); if (tokens.get() == NULL) { LOGE("alloc failed"); return TaskGeneric::EResultError; } android::sp<Buffer> buffer; if (StringUtil::compare(tokens->at(0), "file") == 0) { if (tokens->size() != 2) { LOGE("Wrong number of parameters %d", tokens->size()); } buffer = Buffer::loadFromFile(tokens->at(1)); } else if (StringUtil::compare(tokens->at(0), "sin") == 0) { if (tokens->size() != 4) { LOGE("Wrong number of parameters %d", tokens->size()); } int amplitude = atoi(tokens->at(1).string()); int freq = atoi(tokens->at(2).string()); int time = atoi(tokens->at(3).string()); int samples = time * AudioHardware::ESampleRate_44100 / 1000; buffer = AudioSignalFactory::generateSineWave(AudioHardware::E2BPS, amplitude, AudioHardware::ESampleRate_44100, freq, samples, true); } else if (StringUtil::compare(tokens->at(0), "random") == 0) { // TODO FIXME it does not seem to work well. if (tokens->size() != 3) { LOGE("Wrong number of parameters %d", tokens->size()); } int amplitude = atoi(tokens->at(1).string()); int time = atoi(tokens->at(2).string()); int samples = time * AudioHardware::ESampleRate_44100 / 1000; buffer = AudioSignalFactory::generateWhiteNoise(AudioHardware::E2BPS, amplitude, samples, true); } else { // unknown word LOGE("TaskSound::run unknown word in type %s", type.string()); // next buffer check will return } if (buffer.get() == NULL) { return TaskGeneric::EResultError; } if (!getTestCase()->registerBuffer(id, buffer)) { LOGE("TaskSound::run registering buffer %s failed", id.string()); return TaskGeneric::EResultError; } if (mPreload) { int downloadId; if (!getTestCase()->getRemoteAudio()->downloadData(id, buffer, downloadId)) { return TaskGeneric::EResultError; } LOGI("Downloaded buffer %s to DUT with id %d", id.string(), downloadId); } return TaskGeneric::EResultOK; }