[Mono-dev] Tests for ParseRouteInfo

Ben Woods woodsb02 at gmail.com
Sat Jan 17 05:37:11 UTC 2015


OK, I have now added regression tests to my pull request.
https://github.com/mono/mono/pull/1404

Could someone please check whether this is good to commit now?

Cheers,
Ben


--
From: Benjamin Woods
woodsb02 at gmail.com

On 15 January 2015 at 23:33, Miguel de Icaza <miguel at xamarin.com> wrote:

> It does not need to print to console.
>
> Ignore the soft failure, let us jsut assert if there is no gateway (the
> soft failure part of my email was written before I changed my mind, and
> forgot to remove it).
>
> Miguel
>
> On Thu, Jan 15, 2015 at 10:28 AM, Ben Woods <woodsb02 at gmail.com> wrote:
>
>> Should a test really print to the Console? Presumably this should be
>> adapted to detect if there is at least one valid route?
>>
>> Also, what does a "soft failure" look like? Is there an example already
>> in the mono source?
>>
>> Thanks for your help.
>>
>> --
>> From: Benjamin Woods
>> woodsb02 at gmail.com
>>
>> On 15 January 2015 at 23:16, 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/20150117/8c87daed/attachment.html>


More information about the Mono-devel-list mailing list