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 [email protected] On 15 January 2015 at 23:33, Miguel de Icaza <[email protected]> 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 <[email protected]> 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 >> [email protected] >> >> On 15 January 2015 at 23:16, Miguel de Icaza <[email protected]> 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 <[email protected]> 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 >>>> [email protected] >>>> >>>> _______________________________________________ >>>> Mono-devel-list mailing list >>>> [email protected] >>>> http://lists.ximian.com/mailman/listinfo/mono-devel-list >>>> >>>> >>> >> >
_______________________________________________ Mono-devel-list mailing list [email protected] http://lists.ximian.com/mailman/listinfo/mono-devel-list
