xref: /aosp_15_r20/external/cronet/base/posix/sysctl_unittest.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker // Copyright 2023 The Chromium Authors
2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file.
4*6777b538SAndroid Build Coastguard Worker 
5*6777b538SAndroid Build Coastguard Worker #include "base/posix/sysctl.h"
6*6777b538SAndroid Build Coastguard Worker 
7*6777b538SAndroid Build Coastguard Worker #include <sys/sysctl.h>
8*6777b538SAndroid Build Coastguard Worker 
9*6777b538SAndroid Build Coastguard Worker #include "build/build_config.h"
10*6777b538SAndroid Build Coastguard Worker #include "testing/gtest/include/gtest/gtest.h"
11*6777b538SAndroid Build Coastguard Worker 
12*6777b538SAndroid Build Coastguard Worker namespace base {
13*6777b538SAndroid Build Coastguard Worker 
14*6777b538SAndroid Build Coastguard Worker namespace {
15*6777b538SAndroid Build Coastguard Worker 
16*6777b538SAndroid Build Coastguard Worker using SysctlTest = testing::Test;
17*6777b538SAndroid Build Coastguard Worker 
TEST(SysctlTest,MibSuccess)18*6777b538SAndroid Build Coastguard Worker TEST(SysctlTest, MibSuccess) {
19*6777b538SAndroid Build Coastguard Worker   std::optional<std::string> result1 = StringSysctl({CTL_HW, HW_MACHINE});
20*6777b538SAndroid Build Coastguard Worker   EXPECT_TRUE(result1);
21*6777b538SAndroid Build Coastguard Worker 
22*6777b538SAndroid Build Coastguard Worker #if !BUILDFLAG(IS_OPENBSD)
23*6777b538SAndroid Build Coastguard Worker   std::optional<std::string> result2 = StringSysctlByName("hw.machine");
24*6777b538SAndroid Build Coastguard Worker   EXPECT_TRUE(result2);
25*6777b538SAndroid Build Coastguard Worker 
26*6777b538SAndroid Build Coastguard Worker   EXPECT_EQ(result1, result2);
27*6777b538SAndroid Build Coastguard Worker #endif
28*6777b538SAndroid Build Coastguard Worker }
29*6777b538SAndroid Build Coastguard Worker 
TEST(SysctlTest,MibFailure)30*6777b538SAndroid Build Coastguard Worker TEST(SysctlTest, MibFailure) {
31*6777b538SAndroid Build Coastguard Worker   std::optional<std::string> result = StringSysctl({-1});
32*6777b538SAndroid Build Coastguard Worker   EXPECT_FALSE(result);
33*6777b538SAndroid Build Coastguard Worker 
34*6777b538SAndroid Build Coastguard Worker #if !BUILDFLAG(IS_OPENBSD)
35*6777b538SAndroid Build Coastguard Worker   result = StringSysctlByName("banananananananana");
36*6777b538SAndroid Build Coastguard Worker   EXPECT_FALSE(result);
37*6777b538SAndroid Build Coastguard Worker #endif
38*6777b538SAndroid Build Coastguard Worker }
39*6777b538SAndroid Build Coastguard Worker 
40*6777b538SAndroid Build Coastguard Worker }  // namespace
41*6777b538SAndroid Build Coastguard Worker 
42*6777b538SAndroid Build Coastguard Worker }  // namespace base
43