diff --git a/Tests/Cosmos.TestRunner.Full/Cosmos.TestRunner.Full.csproj b/Tests/Cosmos.TestRunner.Full/Cosmos.TestRunner.Full.csproj index e9ad60390..aa2fb1739 100644 --- a/Tests/Cosmos.TestRunner.Full/Cosmos.TestRunner.Full.csproj +++ b/Tests/Cosmos.TestRunner.Full/Cosmos.TestRunner.Full.csproj @@ -29,6 +29,7 @@ + diff --git a/Tests/Cosmos.TestRunner.Full/TestKernelSets.cs b/Tests/Cosmos.TestRunner.Full/TestKernelSets.cs index 07af2745b..e988fe34b 100644 --- a/Tests/Cosmos.TestRunner.Full/TestKernelSets.cs +++ b/Tests/Cosmos.TestRunner.Full/TestKernelSets.cs @@ -31,6 +31,7 @@ namespace Cosmos.TestRunner.Full //yield return typeof(KernelGen3.Boot); yield return typeof(GraphicTest.Kernel); + yield return typeof(NetworkTest.Kernel); /* Please see the notes on the kernel itself before enabling it */ //yield return typeof(ConsoleTest.Kernel); /* This is a bit slow and works only because ring check is disabled to decide if leave it enabled */ diff --git a/Tests/Kernels/NetworkTest/Kernel.cs b/Tests/Kernels/NetworkTest/Kernel.cs new file mode 100644 index 000000000..6cd544c24 --- /dev/null +++ b/Tests/Kernels/NetworkTest/Kernel.cs @@ -0,0 +1,47 @@ +using Cosmos.HAL; +using Cosmos.System.Network.Config; +using Cosmos.System.Network.IPv4; +using Cosmos.System.Network.IPv4.UDP; +using Cosmos.TestRunner; +using System; +using System.Collections.Generic; +using System.Text; +using Sys = Cosmos.System; + +namespace NetworkTest +{ + public class Kernel : Sys.Kernel + { + protected override void BeforeRun() + { + } + + protected override void Run() + { + /** IPConfig Enable test **/ + mDebugger.Send($"Testing IPConfig.Enable"); + //get nic by name + NetworkDevice nic = NetworkDevice.GetDeviceByName("eth0"); + if (Equals(nic, null)) + { + mDebugger.Send($"eth0 not found."); + TestController.Failed(); + } + //Enable network config + IPConfig.Enable(nic, new Address(192, 168, 1, 69), new Address(255, 255, 255, 0), new Address(192, 168, 1, 254)); + + Address ip = new Address(192, 168, 1, 70); + int port = 4242; + string message = "Hello from Cosmos!"; + + /** Udp test **/ + var xClient = new UdpClient(port); + xClient.Connect(ip, port); + xClient.Send(Encoding.ASCII.GetBytes(message)); + mDebugger.Send("Sent UDP packet to " + ip.ToString() + ":" + port); + xClient.Close(); + + TestController.Completed(); + } + } +} diff --git a/Tests/Kernels/NetworkTest/NetworkTest.csproj b/Tests/Kernels/NetworkTest/NetworkTest.csproj new file mode 100644 index 000000000..d6e0d7a18 --- /dev/null +++ b/Tests/Kernels/NetworkTest/NetworkTest.csproj @@ -0,0 +1,14 @@ + + + + netcoreapp2.0 + True + + + + + + + + +