Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1438)

Unified Diff: chrome/browser/diagnostics/diagnostics_model_unittest.cc

Issue 16948012: This adds a recovery mode to the diagnostics (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Upload after merge Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/diagnostics/diagnostics_model.cc ('k') | chrome/browser/diagnostics/diagnostics_test.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/diagnostics/diagnostics_model_unittest.cc
diff --git a/chrome/browser/diagnostics/diagnostics_model_unittest.cc b/chrome/browser/diagnostics/diagnostics_model_unittest.cc
index d70a2991c2fb0a787306fceba3bee2625bb2e149..b1e7b4f25ec2d52002b66b40dcb647f57f0fd249 100644
--- a/chrome/browser/diagnostics/diagnostics_model_unittest.cc
+++ b/chrome/browser/diagnostics/diagnostics_model_unittest.cc
@@ -6,6 +6,7 @@
#include "base/command_line.h"
#include "base/compiler_specific.h"
+#include "base/memory/scoped_ptr.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace diagnostics {
@@ -14,75 +15,81 @@ namespace diagnostics {
class DiagnosticsModelTest : public testing::Test {
protected:
DiagnosticsModelTest()
- : model_(NULL),
- cmdline_(CommandLine::NO_PROGRAM) {
+ : cmdline_(CommandLine::NO_PROGRAM) {
}
virtual ~DiagnosticsModelTest() { }
virtual void SetUp() {
- model_ = MakeDiagnosticsModel(cmdline_);
- ASSERT_TRUE(model_ != NULL);
+ model_.reset(MakeDiagnosticsModel(cmdline_));
+ ASSERT_TRUE(model_.get() != NULL);
}
virtual void TearDown() {
- delete model_;
+ model_.reset();
}
- DiagnosticsModel* model_;
+ scoped_ptr<DiagnosticsModel> model_;
CommandLine cmdline_;
+
+ DISALLOW_COPY_AND_ASSIGN(DiagnosticsModelTest);
};
// The test observer is used to know if the callbacks are being called.
class UTObserver: public DiagnosticsModel::Observer {
public:
UTObserver()
- : done_(false),
- finished_(0),
- id_of_failed_stop_test(-1) {
+ : tests_done_(false),
+ recovery_done_(false),
+ num_tested_(0),
+ num_recovered_(0) {
}
- virtual void OnFinished(int index, DiagnosticsModel* model) OVERRIDE {
+ virtual void OnTestFinished(int index, DiagnosticsModel* model) OVERRIDE {
EXPECT_TRUE(model != NULL);
- ++finished_;
- if (model->GetTest(index).GetResult() == DiagnosticsModel::TEST_FAIL_STOP) {
- id_of_failed_stop_test = index;
- ASSERT_TRUE(false);
- }
+ ++num_tested_;
+ EXPECT_NE(DiagnosticsModel::TEST_FAIL_STOP,
+ model->GetTest(index).GetResult())
+ << "Failed stop test: " << index;
}
- virtual void OnDoneAll(DiagnosticsModel* model) OVERRIDE {
- done_ = true;
+ virtual void OnAllTestsDone(DiagnosticsModel* model) OVERRIDE {
EXPECT_TRUE(model != NULL);
+ tests_done_ = true;
}
- bool done() const { return done_; }
+ virtual void OnRecoveryFinished(int index, DiagnosticsModel* model) OVERRIDE {
+ EXPECT_TRUE(model != NULL);
+ ++num_recovered_;
+ EXPECT_NE(DiagnosticsModel::RECOVERY_FAIL_STOP,
+ model->GetTest(index).GetResult())
+ << "Failed stop recovery: " << index;
+ }
- int finished() const { return finished_;}
+ virtual void OnAllRecoveryDone(DiagnosticsModel* model) OVERRIDE {
+ EXPECT_TRUE(model != NULL);
+ recovery_done_ = true;
+ }
+
+ bool tests_done() const { return tests_done_; }
+ bool recovery_done() const { return recovery_done_; }
+
+ int num_tested() const { return num_tested_;}
+ int num_recovered() const { return num_recovered_;}
private:
- bool done_;
- int finished_;
- int id_of_failed_stop_test;
-};
+ bool tests_done_;
+ bool recovery_done_;
+ int num_tested_;
+ int num_recovered_;
-// This is the count of tests on each platform.
-#if defined(OS_WIN)
-const int kDiagnosticsTestCount = 19;
-#elif defined(OS_MACOSX)
-const int kDiagnosticsTestCount = 16;
-#elif defined(OS_POSIX)
-#if defined(OS_CHROMEOS)
-const int kDiagnosticsTestCount = 19;
-#else
-const int kDiagnosticsTestCount = 17;
-#endif
-#endif
+ DISALLOW_COPY_AND_ASSIGN(UTObserver);
+};
// Test that the initial state is correct.
TEST_F(DiagnosticsModelTest, BeforeRun) {
int available = model_->GetTestAvailableCount();
- EXPECT_EQ(kDiagnosticsTestCount, available);
+ EXPECT_EQ(DiagnosticsModel::kDiagnosticsTestCount, available);
EXPECT_EQ(0, model_->GetTestRunCount());
EXPECT_EQ(DiagnosticsModel::TEST_NOT_RUN, model_->GetTest(0).GetResult());
}
@@ -91,11 +98,15 @@ TEST_F(DiagnosticsModelTest, BeforeRun) {
// final state is correct.
TEST_F(DiagnosticsModelTest, RunAll) {
UTObserver observer;
- EXPECT_FALSE(observer.done());
+ EXPECT_FALSE(observer.tests_done());
model_->RunAll(&observer);
- EXPECT_TRUE(observer.done());
- EXPECT_EQ(kDiagnosticsTestCount, model_->GetTestRunCount());
- EXPECT_EQ(kDiagnosticsTestCount, observer.finished());
+ EXPECT_TRUE(observer.tests_done());
+ EXPECT_FALSE(observer.recovery_done());
+ model_->RecoverAll(&observer);
+ EXPECT_TRUE(observer.recovery_done());
+ EXPECT_EQ(DiagnosticsModel::kDiagnosticsTestCount, model_->GetTestRunCount());
+ EXPECT_EQ(DiagnosticsModel::kDiagnosticsTestCount, observer.num_tested());
+ EXPECT_EQ(DiagnosticsModel::kDiagnosticsTestCount, observer.num_recovered());
}
} // namespace diagnostics
« no previous file with comments | « chrome/browser/diagnostics/diagnostics_model.cc ('k') | chrome/browser/diagnostics/diagnostics_test.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698