• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2013 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 "base/test/expectations/expectation.h"
6 
7 #include "base/basictypes.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9 
TEST(TestExpectationsFunctionsTest,ResultFromString)10 TEST(TestExpectationsFunctionsTest, ResultFromString) {
11   test_expectations::Result result = test_expectations::RESULT_PASS;
12 
13   EXPECT_TRUE(ResultFromString("Failure", &result));
14   EXPECT_EQ(test_expectations::RESULT_FAILURE, result);
15 
16   EXPECT_TRUE(ResultFromString("Timeout", &result));
17   EXPECT_EQ(test_expectations::RESULT_TIMEOUT, result);
18 
19   EXPECT_TRUE(ResultFromString("Crash", &result));
20   EXPECT_EQ(test_expectations::RESULT_CRASH, result);
21 
22   EXPECT_TRUE(ResultFromString("Skip", &result));
23   EXPECT_EQ(test_expectations::RESULT_SKIP, result);
24 
25   EXPECT_TRUE(ResultFromString("Pass", &result));
26   EXPECT_EQ(test_expectations::RESULT_PASS, result);
27 
28   // Case sensitive.
29   EXPECT_FALSE(ResultFromString("failure", &result));
30   EXPECT_EQ(test_expectations::RESULT_PASS, result);
31 }
32 
TEST(TestExpectationsFunctionsTest,ConfigurationFromString)33 TEST(TestExpectationsFunctionsTest, ConfigurationFromString) {
34   test_expectations::Configuration config =
35       test_expectations::CONFIGURATION_UNSPECIFIED;
36 
37   EXPECT_TRUE(ConfigurationFromString("Debug", &config));
38   EXPECT_EQ(test_expectations::CONFIGURATION_DEBUG, config);
39 
40   EXPECT_TRUE(ConfigurationFromString("Release", &config));
41   EXPECT_EQ(test_expectations::CONFIGURATION_RELEASE, config);
42 
43   EXPECT_FALSE(ConfigurationFromString("NotAConfig", &config));
44   EXPECT_EQ(test_expectations::CONFIGURATION_RELEASE, config);
45 
46   // Case sensitive.
47   EXPECT_FALSE(ConfigurationFromString("debug", &config));
48   EXPECT_EQ(test_expectations::CONFIGURATION_RELEASE, config);
49 }
50 
TEST(TestExpectationsFunctionsTest,PlatformFromString)51 TEST(TestExpectationsFunctionsTest, PlatformFromString) {
52   test_expectations::Platform platform;
53 
54   EXPECT_TRUE(PlatformFromString("Win", &platform));
55   EXPECT_EQ("Win", platform.name);
56   EXPECT_EQ("", platform.variant);
57 
58   EXPECT_TRUE(PlatformFromString("Mac-10.6", &platform));
59   EXPECT_EQ("Mac", platform.name);
60   EXPECT_EQ("10.6", platform.variant);
61 
62   EXPECT_TRUE(PlatformFromString("ChromeOS", &platform));
63   EXPECT_EQ("ChromeOS", platform.name);
64   EXPECT_EQ("", platform.variant);
65 
66   EXPECT_TRUE(PlatformFromString("Linux-", &platform));
67   EXPECT_EQ("Linux", platform.name);
68   EXPECT_EQ("", platform.variant);
69 
70   EXPECT_FALSE(PlatformFromString("", &platform));
71 }
72 
TEST(TestExpectationsFunctionsTest,IsValidPlatform)73 TEST(TestExpectationsFunctionsTest, IsValidPlatform) {
74   const char* kValidPlatforms[] = {
75     "Win",
76     "Win-XP",
77     "Win-Vista",
78     "Win-7",
79     "Win-8",
80     "Mac",
81     "Mac-10.6",
82     "Mac-10.7",
83     "Mac-10.8",
84     "Linux",
85     "Linux-32",
86     "Linux-64",
87     "ChromeOS",
88     "iOS",
89     "Android",
90   };
91 
92   const char* kInvalidPlatforms[] = {
93     "Solaris",
94     "Plan9",
95   };
96 
97   for (size_t i = 0; i < arraysize(kValidPlatforms); ++i) {
98     test_expectations::Platform platform;
99     EXPECT_TRUE(test_expectations::PlatformFromString(
100         kValidPlatforms[i], &platform)) << kValidPlatforms[i];
101   }
102 
103   for (size_t i = 0; i < arraysize(kInvalidPlatforms); ++i) {
104     test_expectations::Platform platform;
105     EXPECT_FALSE(test_expectations::PlatformFromString(
106         kInvalidPlatforms[i], &platform)) << kInvalidPlatforms[i];
107   }
108 }
109 
TEST(TestExpectationsFunctionsTest,CurrentPlatform)110 TEST(TestExpectationsFunctionsTest, CurrentPlatform) {
111   test_expectations::Platform current =
112       test_expectations::GetCurrentPlatform();
113   EXPECT_FALSE(current.name.empty());
114 }
115 
TEST(TestExpectationsFunctionsTest,CurrentConfiguration)116 TEST(TestExpectationsFunctionsTest, CurrentConfiguration) {
117   test_expectations::Configuration current =
118       test_expectations::GetCurrentConfiguration();
119   EXPECT_NE(test_expectations::CONFIGURATION_UNSPECIFIED, current);
120 }
121