OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <time.h> | 5 #include <time.h> |
6 | 6 |
7 #include "base/values.h" | 7 #include "base/values.h" |
8 #include "chromecast/crash/linux/crash_testing_utils.h" | 8 #include "chromecast/crash/linux/crash_testing_utils.h" |
9 #include "chromecast/crash/linux/dump_info.h" | 9 #include "chromecast/crash/linux/dump_info.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
(...skipping 29 matching lines...) Expand all Loading... |
40 | 40 |
41 TEST(DumpInfoTest, AllRequiredFieldsIsValid) { | 41 TEST(DumpInfoTest, AllRequiredFieldsIsValid) { |
42 std::unique_ptr<DumpInfo> info( | 42 std::unique_ptr<DumpInfo> info( |
43 CreateDumpInfo("{" | 43 CreateDumpInfo("{" |
44 "\"name\": \"name\"," | 44 "\"name\": \"name\"," |
45 "\"dump_time\" : \"2001-11-12 18:31:01\"," | 45 "\"dump_time\" : \"2001-11-12 18:31:01\"," |
46 "\"dump\": \"dump_string\"," | 46 "\"dump\": \"dump_string\"," |
47 "\"uptime\": \"123456789\"," | 47 "\"uptime\": \"123456789\"," |
48 "\"logfile\": \"logfile.log\"" | 48 "\"logfile\": \"logfile.log\"" |
49 "}")); | 49 "}")); |
50 struct tm tm = {0}; | 50 base::Time::Exploded ex = {0}; |
51 tm.tm_isdst = 0; | 51 ex.second = 1; |
52 tm.tm_sec = 1; | 52 ex.minute = 31; |
53 tm.tm_min = 31; | 53 ex.hour = 18; |
54 tm.tm_hour = 18; | 54 ex.day_of_month = 12; |
55 tm.tm_mday = 12; | 55 ex.month = 11; |
56 tm.tm_mon = 10; | 56 ex.year = 2001; |
57 tm.tm_year = 101; | 57 base::Time dump_time = base::Time::FromLocalExploded(ex); |
58 time_t dump_time = mktime(&tm); | |
59 | 58 |
60 ASSERT_TRUE(info->valid()); | 59 ASSERT_TRUE(info->valid()); |
61 ASSERT_EQ("name", info->params().process_name); | 60 ASSERT_EQ("name", info->params().process_name); |
62 ASSERT_EQ(dump_time, info->dump_time()); | 61 ASSERT_EQ(dump_time, info->dump_time()); |
63 ASSERT_EQ("dump_string", info->crashed_process_dump()); | 62 ASSERT_EQ("dump_string", info->crashed_process_dump()); |
64 ASSERT_EQ(123456789u, info->params().process_uptime); | 63 ASSERT_EQ(123456789u, info->params().process_uptime); |
65 ASSERT_EQ("logfile.log", info->logfile()); | 64 ASSERT_EQ("logfile.log", info->logfile()); |
66 } | 65 } |
67 | 66 |
68 TEST(DumpInfoTest, EmptyProcessNameIsValid) { | 67 TEST(DumpInfoTest, EmptyProcessNameIsValid) { |
(...skipping 10 matching lines...) Expand all Loading... |
79 | 78 |
80 TEST(DumpInfoTest, SomeRequiredFieldsEmptyIsValid) { | 79 TEST(DumpInfoTest, SomeRequiredFieldsEmptyIsValid) { |
81 std::unique_ptr<DumpInfo> info( | 80 std::unique_ptr<DumpInfo> info( |
82 CreateDumpInfo("{" | 81 CreateDumpInfo("{" |
83 "\"name\": \"name\"," | 82 "\"name\": \"name\"," |
84 "\"dump_time\" : \"2001-11-12 18:31:01\"," | 83 "\"dump_time\" : \"2001-11-12 18:31:01\"," |
85 "\"dump\": \"\"," | 84 "\"dump\": \"\"," |
86 "\"uptime\": \"\"," | 85 "\"uptime\": \"\"," |
87 "\"logfile\": \"\"" | 86 "\"logfile\": \"\"" |
88 "}")); | 87 "}")); |
89 struct tm tm = {0}; | 88 base::Time::Exploded ex = {0}; |
90 tm.tm_isdst = 0; | 89 ex.second = 1; |
91 tm.tm_sec = 1; | 90 ex.minute = 31; |
92 tm.tm_min = 31; | 91 ex.hour = 18; |
93 tm.tm_hour = 18; | 92 ex.day_of_month = 12; |
94 tm.tm_mday = 12; | 93 ex.month = 11; |
95 tm.tm_mon = 10; | 94 ex.year = 2001; |
96 tm.tm_year = 101; | 95 base::Time dump_time = base::Time::FromLocalExploded(ex); |
97 time_t dump_time = mktime(&tm); | |
98 | 96 |
99 ASSERT_TRUE(info->valid()); | 97 ASSERT_TRUE(info->valid()); |
100 ASSERT_EQ("name", info->params().process_name); | 98 ASSERT_EQ("name", info->params().process_name); |
101 ASSERT_EQ(dump_time, info->dump_time()); | 99 ASSERT_EQ(dump_time, info->dump_time()); |
102 ASSERT_EQ("", info->crashed_process_dump()); | 100 ASSERT_EQ("", info->crashed_process_dump()); |
103 ASSERT_EQ(0u, info->params().process_uptime); | 101 ASSERT_EQ(0u, info->params().process_uptime); |
104 ASSERT_EQ("", info->logfile()); | 102 ASSERT_EQ("", info->logfile()); |
105 } | 103 } |
106 | 104 |
107 TEST(DumpInfoTest, AllOptionalFieldsIsValid) { | 105 TEST(DumpInfoTest, AllOptionalFieldsIsValid) { |
108 std::unique_ptr<DumpInfo> info( | 106 std::unique_ptr<DumpInfo> info( |
109 CreateDumpInfo("{" | 107 CreateDumpInfo("{" |
110 "\"name\": \"name\"," | 108 "\"name\": \"name\"," |
111 "\"dump_time\" : \"2001-11-12 18:31:01\"," | 109 "\"dump_time\" : \"2001-11-12 18:31:01\"," |
112 "\"dump\": \"dump_string\"," | 110 "\"dump\": \"dump_string\"," |
113 "\"uptime\": \"123456789\"," | 111 "\"uptime\": \"123456789\"," |
114 "\"logfile\": \"logfile.log\"," | 112 "\"logfile\": \"logfile.log\"," |
115 "\"suffix\": \"suffix\"," | 113 "\"suffix\": \"suffix\"," |
116 "\"prev_app_name\": \"previous_app\"," | 114 "\"prev_app_name\": \"previous_app\"," |
117 "\"cur_app_name\": \"current_app\"," | 115 "\"cur_app_name\": \"current_app\"," |
118 "\"last_app_name\": \"last_app\"," | 116 "\"last_app_name\": \"last_app\"," |
119 "\"release_version\": \"RELEASE\"," | 117 "\"release_version\": \"RELEASE\"," |
120 "\"build_number\": \"BUILD_NUMBER\"," | 118 "\"build_number\": \"BUILD_NUMBER\"," |
121 "\"reason\": \"foo\"" | 119 "\"reason\": \"foo\"" |
122 "}")); | 120 "}")); |
123 struct tm tm = {0}; | 121 base::Time::Exploded ex = {0}; |
124 tm.tm_isdst = 0; | 122 ex.second = 1; |
125 tm.tm_sec = 1; | 123 ex.minute = 31; |
126 tm.tm_min = 31; | 124 ex.hour = 18; |
127 tm.tm_hour = 18; | 125 ex.day_of_month = 12; |
128 tm.tm_mday = 12; | 126 ex.month = 11; |
129 tm.tm_mon = 10; | 127 ex.year = 2001; |
130 tm.tm_year = 101; | 128 base::Time dump_time = base::Time::FromLocalExploded(ex); |
131 time_t dump_time = mktime(&tm); | |
132 | 129 |
133 ASSERT_TRUE(info->valid()); | 130 ASSERT_TRUE(info->valid()); |
134 ASSERT_EQ("name", info->params().process_name); | 131 ASSERT_EQ("name", info->params().process_name); |
135 ASSERT_EQ(dump_time, info->dump_time()); | 132 ASSERT_EQ(dump_time, info->dump_time()); |
136 ASSERT_EQ("dump_string", info->crashed_process_dump()); | 133 ASSERT_EQ("dump_string", info->crashed_process_dump()); |
137 ASSERT_EQ(123456789u, info->params().process_uptime); | 134 ASSERT_EQ(123456789u, info->params().process_uptime); |
138 ASSERT_EQ("logfile.log", info->logfile()); | 135 ASSERT_EQ("logfile.log", info->logfile()); |
139 | 136 |
140 ASSERT_EQ("suffix", info->params().suffix); | 137 ASSERT_EQ("suffix", info->params().suffix); |
141 ASSERT_EQ("previous_app", info->params().previous_app_name); | 138 ASSERT_EQ("previous_app", info->params().previous_app_name); |
142 ASSERT_EQ("current_app", info->params().current_app_name); | 139 ASSERT_EQ("current_app", info->params().current_app_name); |
143 ASSERT_EQ("last_app", info->params().last_app_name); | 140 ASSERT_EQ("last_app", info->params().last_app_name); |
144 ASSERT_EQ("foo", info->params().reason); | 141 ASSERT_EQ("foo", info->params().reason); |
145 } | 142 } |
146 | 143 |
147 TEST(DumpInfoTest, SomeOptionalFieldsIsValid) { | 144 TEST(DumpInfoTest, SomeOptionalFieldsIsValid) { |
148 std::unique_ptr<DumpInfo> info( | 145 std::unique_ptr<DumpInfo> info( |
149 CreateDumpInfo("{" | 146 CreateDumpInfo("{" |
150 "\"name\": \"name\"," | 147 "\"name\": \"name\"," |
151 "\"dump_time\" : \"2001-11-12 18:31:01\"," | 148 "\"dump_time\" : \"2001-11-12 18:31:01\"," |
152 "\"dump\": \"dump_string\"," | 149 "\"dump\": \"dump_string\"," |
153 "\"uptime\": \"123456789\"," | 150 "\"uptime\": \"123456789\"," |
154 "\"logfile\": \"logfile.log\"," | 151 "\"logfile\": \"logfile.log\"," |
155 "\"suffix\": \"suffix\"," | 152 "\"suffix\": \"suffix\"," |
156 "\"prev_app_name\": \"previous_app\"" | 153 "\"prev_app_name\": \"previous_app\"" |
157 "}")); | 154 "}")); |
158 struct tm tm = {0}; | 155 base::Time::Exploded ex = {0}; |
159 tm.tm_isdst = 0; | 156 ex.second = 1; |
160 tm.tm_sec = 1; | 157 ex.minute = 31; |
161 tm.tm_min = 31; | 158 ex.hour = 18; |
162 tm.tm_hour = 18; | 159 ex.day_of_month = 12; |
163 tm.tm_mday = 12; | 160 ex.month = 11; |
164 tm.tm_mon = 10; | 161 ex.year = 2001; |
165 tm.tm_year = 101; | 162 base::Time dump_time = base::Time::FromLocalExploded(ex); |
166 time_t dump_time = mktime(&tm); | |
167 | 163 |
168 ASSERT_TRUE(info->valid()); | 164 ASSERT_TRUE(info->valid()); |
169 ASSERT_EQ("name", info->params().process_name); | 165 ASSERT_EQ("name", info->params().process_name); |
170 ASSERT_EQ(dump_time, info->dump_time()); | 166 ASSERT_EQ(dump_time, info->dump_time()); |
171 ASSERT_EQ("dump_string", info->crashed_process_dump()); | 167 ASSERT_EQ("dump_string", info->crashed_process_dump()); |
172 ASSERT_EQ(123456789u, info->params().process_uptime); | 168 ASSERT_EQ(123456789u, info->params().process_uptime); |
173 ASSERT_EQ("logfile.log", info->logfile()); | 169 ASSERT_EQ("logfile.log", info->logfile()); |
174 | 170 |
175 ASSERT_EQ("suffix", info->params().suffix); | 171 ASSERT_EQ("suffix", info->params().suffix); |
176 ASSERT_EQ("previous_app", info->params().previous_app_name); | 172 ASSERT_EQ("previous_app", info->params().previous_app_name); |
(...skipping 12 matching lines...) Expand all Loading... |
189 "\"cur_app_name\": \"current_app\"," | 185 "\"cur_app_name\": \"current_app\"," |
190 "\"last_app_name\": \"last_app\"," | 186 "\"last_app_name\": \"last_app\"," |
191 "\"release_version\": \"RELEASE\"," | 187 "\"release_version\": \"RELEASE\"," |
192 "\"build_number\": \"BUILD_NUMBER\"," | 188 "\"build_number\": \"BUILD_NUMBER\"," |
193 "\"hello\": \"extra_field\"" | 189 "\"hello\": \"extra_field\"" |
194 "}")); | 190 "}")); |
195 ASSERT_FALSE(info->valid()); | 191 ASSERT_FALSE(info->valid()); |
196 } | 192 } |
197 | 193 |
198 } // namespace chromecast | 194 } // namespace chromecast |
OLD | NEW |