I'm experimenting with running net_unittests, and there are some failures (not yet in CVS): [----------] 35 tests from NetUtilTest [ RUN ] NetUtilTest.FileURLConversion [ OK ] NetUtilTest.FileURLConversion (0 ms) [ RUN ] NetUtilTest.GetIdentityFromURL [ OK ] NetUtilTest.GetIdentityFromURL (1 ms) [ RUN ] NetUtilTest.GetIdentityFromURL_UTF8 [ OK ] NetUtilTest.GetIdentityFromURL_UTF8 (0 ms) [ RUN ] NetUtilTest.GetSpecificHeader [ OK ] NetUtilTest.GetSpecificHeader (0 ms) [ RUN ] NetUtilTest.GetHeaderParamValue [ OK ] NetUtilTest.GetHeaderParamValue (0 ms) [ RUN ] NetUtilTest.GetHeaderParamValueQuotes [ OK ] NetUtilTest.GetHeaderParamValueQuotes (0 ms) [ RUN ] NetUtilTest.GetFileNameFromCD [ OK ] NetUtilTest.GetFileNameFromCD (210 ms) [ RUN ] NetUtilTest.IDNToUnicodeFast net/base/net_util_unittest.cc:944: Failure Value of: output Actual: L"xn--1lq90ic7f1rc.cn::zh-CN" Expected: expected Which is: L"\x5317\x4EAC\x5927\x5B78.cn::zh-CN" net/base/net_util_unittest.cc:944: Failure Value of: output Actual: L"xn--1lq90ic7f1rc.cn::zh,ru,en" Expected: expected Which is: L"\x5317\x4EAC\x5927\x5B78.cn::zh,ru,en" [ FAILED ] NetUtilTest.IDNToUnicodeFast (461 ms) [ RUN ] NetUtilTest.IDNToUnicodeSlow net/base/net_util_unittest.cc:960: Failure Value of: output Actual: L"xn--1lq90ic7f1rc.cn::ja" Expected: expected Which is: L"\x5317\x4EAC\x5927\x5B78.cn::ja" net/base/net_util_unittest.cc:960: Failure Value of: output Actual: L"xn--1lq90ic7f1rc.cn::ko,ja" Expected: expected Which is: L"\x5317\x4EAC\x5927\x5B78.cn::ko,ja" net/base/net_util_unittest.cc:960: Failure Value of: output Actual: L"xn--tckm4i2e.jp::ja" Expected: expected Which is: L"\x30B3\x30DE\x30FC\x30B9.jp::ja" net/base/net_util_unittest.cc:960: Failure Value of: output Actual: L"xn--tckm4i2e.jp::ko,ja" Expected: expected Which is: L"\x30B3\x30DE\x30FC\x30B9.jp::ko,ja" net/base/net_util_unittest.cc:960: Failure Value of: output Actual: L"xn--e-efusa1mzf.jp::ja" Expected: expected Which is: L"e\x30B3\x30DE\x30FC\x30B9.jp::ja" net/base/net_util_unittest.cc:960: Failure Value of: output Actual: L"xn--e-efusa1mzf.jp::ko,ja" Expected: expected Which is: L"e\x30B3\x30DE\x30FC\x30B9.jp::ko,ja" net/base/net_util_unittest.cc:960: Failure Value of: output Actual: L"xn--3bkxe.jp::ja" Expected: expected Which is: L"\x30C8\x309A.jp::ja" net/base/net_util_unittest.cc:960: Failure Value of: output Actual: L"xn--3bkxe.jp::ko,ja" Expected: expected Which is: L"\x30C8\x309A.jp::ko,ja" [ FAILED ] NetUtilTest.IDNToUnicodeSlow (78 ms) [ RUN ] NetUtilTest.IDNToUnicodeAdjustOffset net/base/net_util_unittest.cc:988: Failure Value of: offset Actual: 9 Expected: adjust_cases[i].output_offset Which is: 4294967295 net/base/net_util_unittest.cc:988: Failure Value of: offset Actual: 15 Expected: adjust_cases[i].output_offset Which is: 4294967295 net/base/net_util_unittest.cc:988: Failure Value of: offset Actual: 24 Expected: adjust_cases[i].output_offset Which is: 12 net/base/net_util_unittest.cc:988: Failure Value of: offset Actual: 25 Expected: adjust_cases[i].output_offset Which is: 13 net/base/net_util_unittest.cc:988: Failure Value of: offset Actual: 28 Expected: adjust_cases[i].output_offset Which is: 16 [ FAILED ] NetUtilTest.IDNToUnicodeAdjustOffset (18 ms) [ RUN ] NetUtilTest.CompliantHost [ OK ] NetUtilTest.CompliantHost (0 ms) [ RUN ] NetUtilTest.StripWWW [ OK ] NetUtilTest.StripWWW (0 ms) [ RUN ] NetUtilTest.GetSuggestedFilename [ OK ] NetUtilTest.GetSuggestedFilename (27 ms) [ RUN ] NetUtilTest.ParseHostAndPort [ OK ] NetUtilTest.ParseHostAndPort (0 ms) [ RUN ] NetUtilTest.GetHostAndPort [ OK ] NetUtilTest.GetHostAndPort (0 ms) [ RUN ] NetUtilTest.GetHostAndOptionalPort [ OK ] NetUtilTest.GetHostAndOptionalPort (0 ms) [ RUN ] NetUtilTest.NetAddressToString_IPv4 [ OK ] NetUtilTest.NetAddressToString_IPv4 (0 ms) [ RUN ] NetUtilTest.NetAddressToString_IPv6 [ OK ] NetUtilTest.NetAddressToString_IPv6 (0 ms) [ RUN ] NetUtilTest.NetAddressToStringWithPort_IPv4 [ OK ] NetUtilTest.NetAddressToStringWithPort_IPv4 (0 ms) [ RUN ] NetUtilTest.NetAddressToStringWithPort_IPv6 [ OK ] NetUtilTest.NetAddressToStringWithPort_IPv6 (0 ms) [ RUN ] NetUtilTest.GetHostName [ OK ] NetUtilTest.GetHostName (0 ms) [ RUN ] NetUtilTest.FormatUrl net/base/net_util_unittest.cc:1623: Failure Value of: formatted Actual: { 118, 105, 101, 119, 45, 115, 111, 117, 114, 99, 101, 58, 104, 116, 116, 112, 58, 47, 47, 120, 110, 45, 45, 113, 99, 107, 97, 49, 112, 109, 99, 46, ... } Expected: WideToUTF16(tests[i].output) Which is: { 118, 105, 101, 119, 45, 115, 111, 117, 114, 99, 101, 58, 104, 116, 116, 112, 58, 47, 47, 12464, 12540, 12464, 12523, 46, 106, 112, 47 } view-source [ FAILED ] NetUtilTest.FormatUrl (8 ms) [ RUN ] NetUtilTest.FormatUrlParsed net/base/net_util_unittest.cc:1638: Failure Value of: formatted Actual: { 104, 116, 116, 112, 58, 47, 47, 37, 69, 51, 37, 56, 50, 37, 66, 48, 58, 37, 69, 51, 37, 56, 51, 37, 66, 67, 64, 120, 110, 45, 45, 113, ... } Expected: WideToUTF16( L"http://%E3%82%B0:%E3%83%BC@\x30B0\x30FC\x30B0\x30EB.jp:8080" L"/%E3%82%B0/?q=%E3%82%B0#\x30B0") Which is: { 104, 116, 116, 112, 58, 47, 47, 37, 69, 51, 37, 56, 50, 37, 66, 48, 58, 37, 69, 51, 37, 56, 51, 37, 66, 67, 64, 12464, 12540, 12464, 12523, 46, ... } net/base/net_util_unittest.cc:1644: Failure Value of: formatted.substr(parsed.host.begin, parsed.host.len) Actual: { 120, 110, 45, 45, 113, 99, 107, 97, 49, 112, 109, 99, 46, 106, 112 } Expected: WideToUTF16(L"\x30B0\x30FC\x30B0\x30EB.jp") Which is: { 12464, 12540, 12464, 12523, 46, 106, 112 } net/base/net_util_unittest.cc:1661: Failure Value of: formatted Actual: { 104, 116, 116, 112, 58, 47, 47, 12464, 58, 12540, 64, 120, 110, 45, 45, 113, 99, 107, 97, 49, 112, 109, 99, 46, 106, 112, 58, 56, 48, 56, 48, 47, ... } Expected: WideToUTF16(L"http://\x30B0:\x30FC@\x30B0\x30FC\x30B0\x30EB.jp:8080" L"/\x30B0/?q=\x30B0#\x30B0") Which is: { 104, 116, 116, 112, 58, 47, 47, 12464, 58, 12540, 64, 12464, 12540, 12464, 12523, 46, 106, 112, 58, 56, 48, 56, 48, 47, 12464, 47, 63, 113, 61, 12464, 35, 12464 } net/base/net_util_unittest.cc:1667: Failure Value of: formatted.substr(parsed.host.begin, parsed.host.len) Actual: { 120, 110, 45, 45, 113, 99, 107, 97, 49, 112, 109, 99, 46, 106, 112 } Expected: WideToUTF16(L"\x30B0\x30FC\x30B0\x30EB.jp") Which is: { 12464, 12540, 12464, 12523, 46, 106, 112 } net/base/net_util_unittest.cc:1684: Failure Value of: formatted Actual: { 104, 116, 116, 112, 58, 47, 47, 120, 110, 45, 45, 113, 99, 107, 97, 49, 112, 109, 99, 46, 106, 112, 58, 56, 48, 56, 48, 47, 12464, 47, 63, 113, ... } Expected: WideToUTF16(L"http://\x30B0\x30FC\x30B0\x30EB.jp:8080" L"/\x30B0/?q=\x30B0#\x30B0") Which is: { 104, 116, 116, 112, 58, 47, 47, 12464, 12540, 12464, 12523, 46, 106, 112, 58, 56, 48, 56, 48, 47, 12464, 47, 63, 113, 61, 12464, 35, 12464 } net/base/net_util_unittest.cc:1688: Failure Value of: formatted.substr(parsed.host.begin, parsed.host.len) Actual: { 120, 110, 45, 45, 113, 99, 107, 97, 49, 112, 109, 99, 46, 106, 112 } Expected: WideToUTF16(L"\x30B0\x30FC\x30B0\x30EB.jp") Which is: { 12464, 12540, 12464, 12523, 46, 106, 112 } [ FAILED ] NetUtilTest.FormatUrlParsed (4 ms) [ RUN ] NetUtilTest.FormatUrlAdjustOffset [ OK ] NetUtilTest.FormatUrlAdjustOffset (4 ms) [ RUN ] NetUtilTest.SimplifyUrlForRequest [ OK ] NetUtilTest.SimplifyUrlForRequest (0 ms) [ RUN ] NetUtilTest.SetExplicitlyAllowedPortsTest [ OK ] NetUtilTest.SetExplicitlyAllowedPortsTest (0 ms) [ RUN ] NetUtilTest.GetHostOrSpecFromURL [ OK ] NetUtilTest.GetHostOrSpecFromURL (0 ms) [ RUN ] NetUtilTest.ParseIPLiteralToNumber_FailParse [ OK ] NetUtilTest.ParseIPLiteralToNumber_FailParse (0 ms) [ RUN ] NetUtilTest.ParseIPLiteralToNumber_IPv4 [ OK ] NetUtilTest.ParseIPLiteralToNumber_IPv4 (0 ms) [ RUN ] NetUtilTest.ParseIPLiteralToNumber_IPv6 [ OK ] NetUtilTest.ParseIPLiteralToNumber_IPv6 (0 ms) [ RUN ] NetUtilTest.ConvertIPv4NumberToIPv6Number [ OK ] NetUtilTest.ConvertIPv4NumberToIPv6Number (0 ms) [ RUN ] NetUtilTest.ParseCIDRBlock_Invalid [ OK ] NetUtilTest.ParseCIDRBlock_Invalid (0 ms) [ RUN ] NetUtilTest.ParseCIDRBlock_Valid [ OK ] NetUtilTest.ParseCIDRBlock_Valid (0 ms) [ RUN ] NetUtilTest.IPNumberMatchesPrefix [ OK ] NetUtilTest.IPNumberMatchesPrefix (1 ms) [ RUN ] NetUtilTest.GetNetworkList [ OK ] NetUtilTest.GetNetworkList (0 ms) [----------] 35 tests from NetUtilTest (812 ms total)
Those failures do not occur when using system ICU.
I'm assuming those failures are safe to ignore. The system ICU is just different from the bundled one.