summaryrefslogtreecommitdiffstats
path: root/base/test/expectations/expectation_unittest.cc
blob: 8a7af71a97eb0274eb77734c818bb2b412c539c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
// Copyright (c) 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "base/test/expectations/expectation.h"

#include "base/basictypes.h"
#include "testing/gtest/include/gtest/gtest.h"

TEST(TestExpectationsFunctionsTest, ResultFromString) {
  test_expectations::Result result = test_expectations::RESULT_PASS;

  EXPECT_TRUE(ResultFromString("Failure", &result));
  EXPECT_EQ(test_expectations::RESULT_FAILURE, result);

  EXPECT_TRUE(ResultFromString("Timeout", &result));
  EXPECT_EQ(test_expectations::RESULT_TIMEOUT, result);

  EXPECT_TRUE(ResultFromString("Crash", &result));
  EXPECT_EQ(test_expectations::RESULT_CRASH, result);

  EXPECT_TRUE(ResultFromString("Skip", &result));
  EXPECT_EQ(test_expectations::RESULT_SKIP, result);

  EXPECT_TRUE(ResultFromString("Pass", &result));
  EXPECT_EQ(test_expectations::RESULT_PASS, result);

  // Case sensitive.
  EXPECT_FALSE(ResultFromString("failure", &result));
  EXPECT_EQ(test_expectations::RESULT_PASS, result);
}

TEST(TestExpectationsFunctionsTest, ConfigurationFromString) {
  test_expectations::Configuration config =
      test_expectations::CONFIGURATION_UNSPECIFIED;

  EXPECT_TRUE(ConfigurationFromString("Debug", &config));
  EXPECT_EQ(test_expectations::CONFIGURATION_DEBUG, config);

  EXPECT_TRUE(ConfigurationFromString("Release", &config));
  EXPECT_EQ(test_expectations::CONFIGURATION_RELEASE, config);

  EXPECT_FALSE(ConfigurationFromString("NotAConfig", &config));
  EXPECT_EQ(test_expectations::CONFIGURATION_RELEASE, config);

  // Case sensitive.
  EXPECT_FALSE(ConfigurationFromString("debug", &config));
  EXPECT_EQ(test_expectations::CONFIGURATION_RELEASE, config);
}

TEST(TestExpectationsFunctionsTest, PlatformFromString) {
  test_expectations::Platform platform;

  EXPECT_TRUE(PlatformFromString("Win", &platform));
  EXPECT_EQ("Win", platform.name);
  EXPECT_EQ("", platform.variant);

  EXPECT_TRUE(PlatformFromString("Mac-10.6", &platform));
  EXPECT_EQ("Mac", platform.name);
  EXPECT_EQ("10.6", platform.variant);

  EXPECT_TRUE(PlatformFromString("ChromeOS", &platform));
  EXPECT_EQ("ChromeOS", platform.name);
  EXPECT_EQ("", platform.variant);

  EXPECT_TRUE(PlatformFromString("Linux-", &platform));
  EXPECT_EQ("Linux", platform.name);
  EXPECT_EQ("", platform.variant);

  EXPECT_FALSE(PlatformFromString("", &platform));
}

TEST(TestExpectationsFunctionsTest, IsValidPlatform) {
  const char* kValidPlatforms[] = {
    "Win",
    "Win-XP",
    "Win-Vista",
    "Win-7",
    "Win-8",
    "Mac",
    "Mac-10.6",
    "Mac-10.7",
    "Mac-10.8",
    "Linux",
    "Linux-32",
    "Linux-64",
    "ChromeOS",
    "iOS",
    "Android",
  };

  const char* kInvalidPlatforms[] = {
    "Solaris",
    "Plan9",
  };

  for (size_t i = 0; i < arraysize(kValidPlatforms); ++i) {
    test_expectations::Platform platform;
    EXPECT_TRUE(test_expectations::PlatformFromString(
        kValidPlatforms[i], &platform)) << kValidPlatforms[i];
  }

  for (size_t i = 0; i < arraysize(kInvalidPlatforms); ++i) {
    test_expectations::Platform platform;
    EXPECT_FALSE(test_expectations::PlatformFromString(
        kInvalidPlatforms[i], &platform)) << kInvalidPlatforms[i];
  }
}

TEST(TestExpectationsFunctionsTest, CurrentPlatform) {
  test_expectations::Platform current =
      test_expectations::GetCurrentPlatform();
  EXPECT_FALSE(current.name.empty());
}

TEST(TestExpectationsFunctionsTest, CurrentConfiguration) {
  test_expectations::Configuration current =
      test_expectations::GetCurrentConfiguration();
  EXPECT_NE(test_expectations::CONFIGURATION_UNSPECIFIED, current);
}