Re: [Mono-dev] Tests for ParseRouteInfo
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 woods...@gmail.com On 15 January 2015 at 23:33, Miguel de Icaza mig...@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 woods...@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 woods...@gmail.com On 15 January 2015 at 23:16, Miguel de Icaza mig...@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 woods...@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 woods...@gmail.com ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Tests for ParseRouteInfo
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 woods...@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 woods...@gmail.com ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Tests for ParseRouteInfo
Also, thanks so much for this patch! On Thu, Jan 15, 2015 at 10:16 AM, Miguel de Icaza mig...@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 woods...@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 woods...@gmail.com ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Tests for ParseRouteInfo
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 woods...@gmail.com On 15 January 2015 at 23:16, Miguel de Icaza mig...@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 woods...@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 woods...@gmail.com ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Tests for ParseRouteInfo
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 woods...@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 woods...@gmail.com On 15 January 2015 at 23:16, Miguel de Icaza mig...@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 woods...@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 woods...@gmail.com ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
[Mono-dev] Tests for ParseRouteInfo
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 woods...@gmail.com ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list