[Mono-dev] Tests for ParseRouteInfo

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


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/c4303a25/attachment.html>


More information about the Mono-devel-list mailing list