xref: /aosp_15_r20/external/libchrome/base/build_time_unittest.cc (revision 635a864187cb8b6c713ff48b7e790a6b21769273)
1*635a8641SAndroid Build Coastguard Worker // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2*635a8641SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*635a8641SAndroid Build Coastguard Worker // found in the LICENSE file.
4*635a8641SAndroid Build Coastguard Worker 
5*635a8641SAndroid Build Coastguard Worker #include "base/build_time.h"
6*635a8641SAndroid Build Coastguard Worker #if !defined(DONT_EMBED_BUILD_METADATA)
7*635a8641SAndroid Build Coastguard Worker #include "base/generated_build_date.h"
8*635a8641SAndroid Build Coastguard Worker #endif
9*635a8641SAndroid Build Coastguard Worker #include "base/time/time.h"
10*635a8641SAndroid Build Coastguard Worker 
11*635a8641SAndroid Build Coastguard Worker #include "testing/gtest/include/gtest/gtest.h"
12*635a8641SAndroid Build Coastguard Worker 
TEST(BuildTime,DateLooksValid)13*635a8641SAndroid Build Coastguard Worker TEST(BuildTime, DateLooksValid) {
14*635a8641SAndroid Build Coastguard Worker #if !defined(DONT_EMBED_BUILD_METADATA)
15*635a8641SAndroid Build Coastguard Worker   char build_date[] = BUILD_DATE;
16*635a8641SAndroid Build Coastguard Worker #else
17*635a8641SAndroid Build Coastguard Worker   char build_date[] = "Sep 02 2008 05:00:00";
18*635a8641SAndroid Build Coastguard Worker #endif
19*635a8641SAndroid Build Coastguard Worker 
20*635a8641SAndroid Build Coastguard Worker   EXPECT_EQ(20u, strlen(build_date));
21*635a8641SAndroid Build Coastguard Worker   EXPECT_EQ(' ', build_date[3]);
22*635a8641SAndroid Build Coastguard Worker   EXPECT_EQ(' ', build_date[6]);
23*635a8641SAndroid Build Coastguard Worker   EXPECT_EQ(' ', build_date[11]);
24*635a8641SAndroid Build Coastguard Worker   EXPECT_EQ('0', build_date[12]);
25*635a8641SAndroid Build Coastguard Worker   EXPECT_EQ('5', build_date[13]);
26*635a8641SAndroid Build Coastguard Worker   EXPECT_EQ(':', build_date[14]);
27*635a8641SAndroid Build Coastguard Worker   EXPECT_EQ('0', build_date[15]);
28*635a8641SAndroid Build Coastguard Worker   EXPECT_EQ('0', build_date[16]);
29*635a8641SAndroid Build Coastguard Worker   EXPECT_EQ(':', build_date[17]);
30*635a8641SAndroid Build Coastguard Worker   EXPECT_EQ('0', build_date[18]);
31*635a8641SAndroid Build Coastguard Worker   EXPECT_EQ('0', build_date[19]);
32*635a8641SAndroid Build Coastguard Worker }
33*635a8641SAndroid Build Coastguard Worker 
TEST(BuildTime,InThePast)34*635a8641SAndroid Build Coastguard Worker TEST(BuildTime, InThePast) {
35*635a8641SAndroid Build Coastguard Worker   EXPECT_LT(base::GetBuildTime(), base::Time::Now());
36*635a8641SAndroid Build Coastguard Worker   EXPECT_LT(base::GetBuildTime(), base::Time::NowFromSystemTime());
37*635a8641SAndroid Build Coastguard Worker }
38*635a8641SAndroid Build Coastguard Worker 
39*635a8641SAndroid Build Coastguard Worker #if !defined(DONT_EMBED_BUILD_METADATA)
TEST(BuildTime,NotTooFar)40*635a8641SAndroid Build Coastguard Worker TEST(BuildTime, NotTooFar) {
41*635a8641SAndroid Build Coastguard Worker   // BuildTime must be less than 45 days old.
42*635a8641SAndroid Build Coastguard Worker   base::Time cutoff(base::Time::Now() - base::TimeDelta::FromDays(45));
43*635a8641SAndroid Build Coastguard Worker   EXPECT_GT(base::GetBuildTime(), cutoff);
44*635a8641SAndroid Build Coastguard Worker }
45*635a8641SAndroid Build Coastguard Worker #endif
46