1// Copyright (c) 2010 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "chrome/browser/diagnostics/diagnostics_test.h" 6 7#include "base/file_path.h" 8#include "base/path_service.h" 9#include "chrome/common/chrome_constants.h" 10#include "chrome/common/chrome_paths.h" 11 12DiagnosticTest::DiagnosticTest(const string16& title) 13 : title_(title), result_(DiagnosticsModel::TEST_NOT_RUN) { 14} 15 16DiagnosticTest::~DiagnosticTest() { 17} 18 19bool DiagnosticTest::Execute(DiagnosticsModel::Observer* observer, 20 DiagnosticsModel* model, 21 size_t index) { 22 result_ = DiagnosticsModel::TEST_RUNNING; 23 observer->OnProgress(index, 0, model); 24 bool keep_going = ExecuteImpl(observer); 25 observer->OnFinished(index, model); 26 return keep_going; 27} 28 29string16 DiagnosticTest::GetTitle() { 30 return title_; 31} 32 33DiagnosticsModel::TestResult DiagnosticTest::GetResult() { 34 return result_; 35} 36 37string16 DiagnosticTest::GetAdditionalInfo() { 38 return additional_info_; 39} 40 41void DiagnosticTest::RecordOutcome(const string16& additional_info, 42 DiagnosticsModel::TestResult result) { 43 additional_info_ = additional_info; 44 result_ = result; 45} 46 47// static 48FilePath DiagnosticTest::GetUserDefaultProfileDir() { 49 FilePath path; 50 if (!PathService::Get(chrome::DIR_USER_DATA, &path)) 51 return FilePath(); 52 return path.AppendASCII(chrome::kNotSignedInProfile); 53} 54