OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 "net/proxy/proxy_config_service_linux.h" |
| 6 |
5 #include <map> | 7 #include <map> |
6 #include <string> | 8 #include <string> |
7 #include <vector> | 9 #include <vector> |
8 | 10 |
9 #include "net/proxy/proxy_config_service_linux.h" | |
10 | |
11 #include "base/file_path.h" | 11 #include "base/file_path.h" |
12 #include "base/file_util.h" | 12 #include "base/file_util.h" |
| 13 #include "base/format_macros.h" |
13 #include "base/logging.h" | 14 #include "base/logging.h" |
14 #include "base/string_util.h" | 15 #include "base/string_util.h" |
15 #include "base/task.h" | 16 #include "base/task.h" |
16 #include "base/thread.h" | 17 #include "base/thread.h" |
17 #include "base/waitable_event.h" | 18 #include "base/waitable_event.h" |
18 #include "net/proxy/proxy_config.h" | 19 #include "net/proxy/proxy_config.h" |
19 #include "net/proxy/proxy_config_service_common_unittest.h" | 20 #include "net/proxy/proxy_config_service_common_unittest.h" |
20 | |
21 #include "testing/gtest/include/gtest/gtest.h" | 21 #include "testing/gtest/include/gtest/gtest.h" |
22 #include "testing/platform_test.h" | 22 #include "testing/platform_test.h" |
23 | 23 |
24 namespace net { | 24 namespace net { |
25 namespace { | 25 namespace { |
26 | 26 |
27 // Set of values for all environment variables that we might | 27 // Set of values for all environment variables that we might |
28 // query. NULL represents an unset variable. | 28 // query. NULL represents an unset variable. |
29 struct EnvVarValues { | 29 struct EnvVarValues { |
30 // The strange capitalization is so that the field matches the | 30 // The strange capitalization is so that the field matches the |
(...skipping 547 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
578 | 578 |
579 false, // auto_detect | 579 false, // auto_detect |
580 GURL(), // pac_url | 580 GURL(), // pac_url |
581 MakeSingleProxyRules("www.google.com"), // proxy_rules | 581 MakeSingleProxyRules("www.google.com"), // proxy_rules |
582 "*.google.com\n", // proxy_bypass_list | 582 "*.google.com\n", // proxy_bypass_list |
583 false, // bypass_local_names | 583 false, // bypass_local_names |
584 }, | 584 }, |
585 }; | 585 }; |
586 | 586 |
587 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { | 587 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { |
588 SCOPED_TRACE(StringPrintf("Test[%d] %s", i, tests[i].description.c_str())); | 588 SCOPED_TRACE(StringPrintf("Test[%" PRIuS "] %s", i, |
| 589 tests[i].description.c_str())); |
589 MockEnvironmentVariableGetter* env_getter = | 590 MockEnvironmentVariableGetter* env_getter = |
590 new MockEnvironmentVariableGetter; | 591 new MockEnvironmentVariableGetter; |
591 MockGConfSettingGetter* gconf_getter = new MockGConfSettingGetter; | 592 MockGConfSettingGetter* gconf_getter = new MockGConfSettingGetter; |
592 SynchConfigGetter sync_config_getter( | 593 SynchConfigGetter sync_config_getter( |
593 new ProxyConfigServiceLinux(env_getter, gconf_getter)); | 594 new ProxyConfigServiceLinux(env_getter, gconf_getter)); |
594 ProxyConfig config; | 595 ProxyConfig config; |
595 gconf_getter->values = tests[i].values; | 596 gconf_getter->values = tests[i].values; |
596 sync_config_getter.SetupAndInitialFetch(); | 597 sync_config_getter.SetupAndInitialFetch(); |
597 sync_config_getter.SyncGetProxyConfig(&config); | 598 sync_config_getter.SyncGetProxyConfig(&config); |
598 | 599 |
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
857 false, // auto_detect | 858 false, // auto_detect |
858 GURL(), // pac_url | 859 GURL(), // pac_url |
859 MakeSingleProxyRules("www.google.com"), // proxy_rules | 860 MakeSingleProxyRules("www.google.com"), // proxy_rules |
860 // proxy_bypass_list | 861 // proxy_bypass_list |
861 "*.google.com\n*foo.com:99\n1.2.3.4:22\n127.0.0.1/8\n", | 862 "*.google.com\n*foo.com:99\n1.2.3.4:22\n127.0.0.1/8\n", |
862 false, // bypass_local_names | 863 false, // bypass_local_names |
863 }, | 864 }, |
864 }; | 865 }; |
865 | 866 |
866 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { | 867 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { |
867 SCOPED_TRACE(StringPrintf("Test[%d] %s", i, tests[i].description.c_str())); | 868 SCOPED_TRACE(StringPrintf("Test[%" PRIuS "] %s", i, |
| 869 tests[i].description.c_str())); |
868 MockEnvironmentVariableGetter* env_getter = | 870 MockEnvironmentVariableGetter* env_getter = |
869 new MockEnvironmentVariableGetter; | 871 new MockEnvironmentVariableGetter; |
870 MockGConfSettingGetter* gconf_getter = new MockGConfSettingGetter; | 872 MockGConfSettingGetter* gconf_getter = new MockGConfSettingGetter; |
871 SynchConfigGetter sync_config_getter( | 873 SynchConfigGetter sync_config_getter( |
872 new ProxyConfigServiceLinux(env_getter, gconf_getter)); | 874 new ProxyConfigServiceLinux(env_getter, gconf_getter)); |
873 ProxyConfig config; | 875 ProxyConfig config; |
874 env_getter->values = tests[i].values; | 876 env_getter->values = tests[i].values; |
875 sync_config_getter.SetupAndInitialFetch(); | 877 sync_config_getter.SetupAndInitialFetch(); |
876 sync_config_getter.SyncGetProxyConfig(&config); | 878 sync_config_getter.SyncGetProxyConfig(&config); |
877 | 879 |
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1178 false, // auto_detect | 1180 false, // auto_detect |
1179 GURL(), // pac_url | 1181 GURL(), // pac_url |
1180 MakeProxyPerSchemeRules("www.google.com", | 1182 MakeProxyPerSchemeRules("www.google.com", |
1181 "", "ftp.foo.com"), // proxy_rules | 1183 "", "ftp.foo.com"), // proxy_rules |
1182 "", // proxy_bypass_list | 1184 "", // proxy_bypass_list |
1183 false, // bypass_local_names | 1185 false, // bypass_local_names |
1184 }, | 1186 }, |
1185 }; | 1187 }; |
1186 | 1188 |
1187 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { | 1189 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { |
1188 SCOPED_TRACE(StringPrintf("Test[%d] %s", i, tests[i].description.c_str())); | 1190 SCOPED_TRACE(StringPrintf("Test[%" PRIuS "] %s", i, |
| 1191 tests[i].description.c_str())); |
1189 MockEnvironmentVariableGetter* env_getter = | 1192 MockEnvironmentVariableGetter* env_getter = |
1190 new MockEnvironmentVariableGetter; | 1193 new MockEnvironmentVariableGetter; |
1191 // Force the KDE getter to be used and tell it where the test is. | 1194 // Force the KDE getter to be used and tell it where the test is. |
1192 env_getter->values.DESKTOP_SESSION = "kde"; | 1195 env_getter->values.DESKTOP_SESSION = "kde"; |
1193 env_getter->values.KDE_HOME = kde_home_.value().c_str(); | 1196 env_getter->values.KDE_HOME = kde_home_.value().c_str(); |
1194 SynchConfigGetter sync_config_getter( | 1197 SynchConfigGetter sync_config_getter( |
1195 new ProxyConfigServiceLinux(env_getter)); | 1198 new ProxyConfigServiceLinux(env_getter)); |
1196 ProxyConfig config; | 1199 ProxyConfig config; |
1197 // Overwrite the kioslaverc file. | 1200 // Overwrite the kioslaverc file. |
1198 file_util::WriteFile(kioslaverc_, tests[i].kioslaverc.c_str(), | 1201 file_util::WriteFile(kioslaverc_, tests[i].kioslaverc.c_str(), |
1199 tests[i].kioslaverc.length()); | 1202 tests[i].kioslaverc.length()); |
1200 sync_config_getter.SetupAndInitialFetch(); | 1203 sync_config_getter.SetupAndInitialFetch(); |
1201 sync_config_getter.SyncGetProxyConfig(&config); | 1204 sync_config_getter.SyncGetProxyConfig(&config); |
1202 | 1205 |
1203 EXPECT_EQ(tests[i].auto_detect, config.auto_detect); | 1206 EXPECT_EQ(tests[i].auto_detect, config.auto_detect); |
1204 EXPECT_EQ(tests[i].pac_url, config.pac_url); | 1207 EXPECT_EQ(tests[i].pac_url, config.pac_url); |
1205 EXPECT_EQ(tests[i].proxy_bypass_list, | 1208 EXPECT_EQ(tests[i].proxy_bypass_list, |
1206 FlattenProxyBypass(config.proxy_bypass)); | 1209 FlattenProxyBypass(config.proxy_bypass)); |
1207 EXPECT_EQ(tests[i].bypass_local_names, config.proxy_bypass_local_names); | 1210 EXPECT_EQ(tests[i].bypass_local_names, config.proxy_bypass_local_names); |
1208 EXPECT_EQ(tests[i].proxy_rules, config.proxy_rules); | 1211 EXPECT_EQ(tests[i].proxy_rules, config.proxy_rules); |
1209 } | 1212 } |
1210 } | 1213 } |
1211 | 1214 |
1212 } // namespace net | 1215 } // namespace net |
OLD | NEW |