[d16-5] [monotouch-test] Simplify NetworkReachabilityTest.CtorIPAddressPair test. (#7579)

Don't assert anything about the flags, it's a never ending game to keep up with OS versions.

Fixes https://github.com/xamarin/maccore/issues/2047 for good.

Backport of #7546.
This commit is contained in:
monojenkins 2019-12-12 17:56:42 +01:00 коммит произвёл Rolf Bjarne Kvinge
Родитель fa7e04052c
Коммит 71d009c1c8
1 изменённых файлов: 14 добавлений и 26 удалений

Просмотреть файл

@ -100,14 +100,7 @@ namespace MonoTouchFixtures.SystemConfiguration {
NetworkReachabilityFlags flags;
Assert.IsTrue (nr.TryGetFlags (out flags), "#1");
// using Loopback iOS 10 / tvOS 10 returns no flags (0) on devices
// but only sometimes... so check for Reachable as well (as a flag).
#if !MONOMAC
if ((Runtime.Arch == Arch.DEVICE) && TestRuntime.CheckXcodeVersion (8, 0))
Assert.That ((flags == (NetworkReachabilityFlags) 0) || ((flags & NetworkReachabilityFlags.Reachable) == NetworkReachabilityFlags.Reachable) , $"#1 Reachable: {flags.ToString ()}");
else
#endif
Assert.That (flags, Is.EqualTo (NetworkReachabilityFlags.Reachable), "#1 Reachable");
CheckLoopbackFlags (flags, "1", true);
}
using (var nr = new NetworkReachability (null, address))
@ -123,27 +116,22 @@ namespace MonoTouchFixtures.SystemConfiguration {
NetworkReachabilityFlags flags;
Assert.IsTrue (nr.TryGetFlags (out flags), "#3");
// using Loopback iOS 10 / tvOS 10 / macOS 10.12 returns no flags (0) on devices
var expected = (NetworkReachabilityFlags) 0;
#if MONOMAC
if (!TestRuntime.CheckSystemVersion (PlatformName.MacOSX, 10, 12)) {
expected = NetworkReachabilityFlags.Reachable;
if (!TestRuntime.CheckSystemVersion (PlatformName.MacOSX, 10, 11))
expected |= NetworkReachabilityFlags.IsLocalAddress;
}
#else
if ((Runtime.Arch == Arch.DEVICE) && TestRuntime.CheckXcodeVersion (8, 0)) {
//
} else {
expected = NetworkReachabilityFlags.Reachable;
if (!TestRuntime.CheckXcodeVersion (7, 0))
expected |= NetworkReachabilityFlags.IsLocalAddress;
}
#endif
Assert.That (flags, Is.EqualTo (expected), "#3 Reachable");
CheckLoopbackFlags (flags, "3", false);
}
}
void CheckLoopbackFlags (NetworkReachabilityFlags flags, string number, bool has_address)
{
var noFlags = (NetworkReachabilityFlags) 0;
var otherFlags = (flags & ~(NetworkReachabilityFlags.Reachable | NetworkReachabilityFlags.IsLocalAddress | NetworkReachabilityFlags.IsDirect));
// Different versions of OSes report different flags. Trying to
// figure out which OS versions have which flags set turned out to
// be a never-ending game of whack-a-mole, so just don't assert
// that any specific flags are set.
Assert.AreEqual (noFlags, otherFlags, $"#{number} No other flags: {flags.ToString ()}");
}
[Test]
public void Ctor_Invalid ()
{