TaskBatch.cpp revision 4bbb5d774927b9ae5cc8c9fda1a52480b645671f
1/* 2 * Copyright (C) 2012 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 * use this file except in compliance with the License. You may obtain a copy of 6 * the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 * License for the specific language governing permissions and limitations under 14 * the License. 15 */ 16 17#include "Log.h" 18#include "Report.h" 19 20#include "task/TaskBatch.h" 21 22static const android::String8 STR_NAME("name"); 23static const android::String8 STR_VERSION("version"); 24static const android::String8 STR_DESCRIPTION("description"); 25 26TaskBatch::TaskBatch() 27 :TaskGeneric(TaskGeneric::ETaskBatch) 28{ 29 const android::String8* list[] = {&STR_NAME, &STR_VERSION, &STR_DESCRIPTION, NULL}; 30 registerSupportedStringAttributes(list); 31} 32 33TaskBatch::~TaskBatch() 34{ 35 36} 37 38bool TaskBatch::addChild(TaskGeneric* child) 39{ 40 if (child->getType() != TaskGeneric::ETaskCase) { 41 LOGE("TaskBatch::addChild wrong child type %d", child->getType()); 42 return false; 43 } 44 return TaskGeneric::addChild(child); 45} 46 47bool runAlways(TaskGeneric* child, void* data) 48{ 49 child->run(); 50 return true; 51} 52 53TaskGeneric::ExecutionResult TaskBatch::run() 54{ 55 android::String8 name; 56 android::String8 version; 57 58 if (!findStringAttribute(STR_NAME, name) || !findStringAttribute(STR_VERSION, version)) { 59 LOGW("TaskBatch::run no name or version information"); 60 } 61 Report::Instance()->printf("= Test batch %s version %s started. =", name.string(), 62 version.string()); 63 bool result = TaskGeneric::forEachChild(runAlways, NULL); 64 Report::Instance()->printf("= Finished Test batch ="); 65 return TaskGeneric::EResultOK; 66} 67 68 69