[Mono-dev] Tests for ParseRouteInfo

Miguel de Icaza miguel at xamarin.com
Thu Jan 15 15:16:15 UTC 2015


Also, thanks so much for this patch!

On Thu, Jan 15, 2015 at 10:16 AM, Miguel de Icaza <miguel at xamarin.com>
wrote:

> Hello,
>
> Considering that we do not even have a test, I think it would be nice to
> turn one of the samples on the git discussion into the test.   While not
> 100% robust, we could check that at least *one* of the interfaces has a
> gateway, and perhaps make this into a soft failure for those that do not
> actually have a network with a gateway when running the tests.
>
> Miguel
>
> using System;
>
> using System.Net;
>
> using System.Net.NetworkInformation;
>
>
> public class Test
>
> {
>
>     public static void Main()
>
>     {
>
>         DisplayGatewayAddresses();
>
>     }
>
>
>     public static void DisplayGatewayAddresses()
>
>     {
>
>         Console.WriteLine("Gateways");
>
>         NetworkInterface[] adapters  =
> NetworkInterface.GetAllNetworkInterfaces();
>
>         foreach (NetworkInterface adapter in adapters)
>
>         {
>
>             IPInterfaceProperties adapterProperties =
> adapter.GetIPProperties();
>
>             GatewayIPAddressInformationCollection addresses =
> adapterProperties.GatewayAddresses;
>
>             Console.WriteLine(adapter.Description);
>
>             if (addresses.Count >0)
>
>             {
>
>                 foreach (GatewayIPAddressInformation address in addresses)
>
>                 {
>
>                     Console.WriteLine("  Gateway Address
> ......................... : {0}",
>
>                         address.Address.ToString());
>
>                 }
>
>                 Console.WriteLine();
>
>             }
>
>         }
>
>     }
>
> }
>
> On Thu, Jan 15, 2015 at 8:58 AM, Ben Woods <woodsb02 at gmail.com> wrote:
>
>> Mono is not able to get the system gateway address on Mac OSX or BSD when
>> performing GetIPProperties on an a NetworkInterface. This is due to the
>> mono class libraries solely utilising the /proc/net/route file, which is
>> only available on Linux.
>>
>> I have submitted a pull request to fix this here:
>> https://github.com/mono/mono/pull/1404
>>
>> The last comment on the pull request is that the code looks good, but it
>> would be nice to have a test added to the regression test suite. As I
>> understand it, the test code would reside
>> in mcs/class/System/Test/System.Net.NetworkInformation.
>>
>> What do you think the test would look like? Seeing as mono does not
>> support setting the routing table, only reading it, it is difficult to
>> assert that the default gateway would be.
>>
>> Perhaps simply that the code executes without error, regardless of the
>> result, even if it is empty (it is possible for a system to not have a
>> default route, after all).
>>
>> Thoughts?
>>
>> --
>> From: Benjamin Woods
>> woodsb02 at gmail.com
>>
>> _______________________________________________
>> Mono-devel-list mailing list
>> Mono-devel-list at lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20150115/699a21e0/attachment-0001.html>


More information about the Mono-devel-list mailing list