[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