diff --git a/tests/common/Touch.Unit/Touch.Client/Runner/HttpTextWriter.cs b/tests/common/Touch.Unit/Touch.Client/Runner/HttpTextWriter.cs index 2e97df0bbd96..6d4e40142955 100644 --- a/tests/common/Touch.Unit/Touch.Client/Runner/HttpTextWriter.cs +++ b/tests/common/Touch.Unit/Touch.Client/Runner/HttpTextWriter.cs @@ -16,7 +16,7 @@ namespace MonoTouch.NUnit { class HttpTextWriter : TextWriter { - public string HostName; + public string? HostName; public int Port; TaskCompletionSource finished = new TaskCompletionSource (); @@ -52,7 +52,7 @@ Task SendData (NSUrl url, string uploadData) var tcs = new TaskCompletionSource (); var request = new NSMutableUrlRequest (url); request.HttpMethod = "POST"; - var rv = NSUrlSession.SharedSession.CreateUploadTask (request, NSData.FromString (uploadData), (NSData data, NSUrlResponse response, NSError error) => { + var rv = NSUrlSession.SharedSession.CreateUploadTask (request, NSData.FromString (uploadData), (NSData? data, NSUrlResponse? response, NSError? error) => { if (error is not null) { Console.WriteLine ("Failed to send data to {0}: {1}", url.AbsoluteString, error); tcs.SetResult (false); @@ -67,7 +67,12 @@ Task SendData (NSUrl url, string uploadData) async Task SendData (string action, string uploadData) { + if (string.IsNullOrEmpty (HostName)) + throw new InvalidOperationException ("No host name specified."); + var url = NSUrl.FromString ("http://" + HostName + ":" + Port + "/" + action); + if (url is null) + throw new InvalidOperationException ("Failed to create the reporting url."); int attempts_left = 10; while (!await SendData (url, uploadData)) { @@ -105,13 +110,14 @@ public override void Write (char value) log.Append (value); } - public override void Write (char [] buffer) + public override void Write (char []? buffer) { Console.Out.Write (buffer); - log.Append (buffer); + if (buffer is not null) + log.Append (buffer); } - public override void WriteLine (string value) + public override void WriteLine (string? value) { Console.Out.WriteLine (value); log.AppendLine (value); diff --git a/tests/common/Touch.Unit/Touch.Client/Runner/MacRunner.cs b/tests/common/Touch.Unit/Touch.Client/Runner/MacRunner.cs index 4f1eaf0e0443..2cbaf024afe4 100644 --- a/tests/common/Touch.Unit/Touch.Client/Runner/MacRunner.cs +++ b/tests/common/Touch.Unit/Touch.Client/Runner/MacRunner.cs @@ -67,7 +67,7 @@ static async Task RunTestsAsync (TouchOptions options, Assembly [] assembl await runner.RunAsync (); - return !runner.Result.IsFailure (); + return runner.Result is not null && !runner.Result.IsFailure (); } protected override void WriteDeviceInformation (TextWriter writer) diff --git a/tests/common/Touch.Unit/Touch.Client/Runner/NUnitOutputTextWriter.cs b/tests/common/Touch.Unit/Touch.Client/Runner/NUnitOutputTextWriter.cs index 78da78b69896..cfb459fe7fbc 100644 --- a/tests/common/Touch.Unit/Touch.Client/Runner/NUnitOutputTextWriter.cs +++ b/tests/common/Touch.Unit/Touch.Client/Runner/NUnitOutputTextWriter.cs @@ -37,12 +37,12 @@ public class NUnitOutputTextWriter : TextWriter { StringBuilder extra_data = new StringBuilder (); XmlMode mode; - public NUnitOutputTextWriter (BaseTouchRunner runner, TextWriter baseWriter, OutputWriter xmlWriter) + public NUnitOutputTextWriter (BaseTouchRunner runner, TextWriter? baseWriter, OutputWriter? xmlWriter) : this (runner, baseWriter, xmlWriter, XmlMode.Default) { } - public NUnitOutputTextWriter (BaseTouchRunner runner, TextWriter baseWriter, OutputWriter xmlWriter, XmlMode xmlMode) + public NUnitOutputTextWriter (BaseTouchRunner runner, TextWriter? baseWriter, OutputWriter? xmlWriter, XmlMode xmlMode) { Runner = runner; BaseWriter = baseWriter ?? Console.Out; @@ -60,7 +60,7 @@ public override Encoding Encoding { public BaseTouchRunner Runner { get; private set; } - public OutputWriter XmlOutputWriter { get; private set; } + public OutputWriter? XmlOutputWriter { get; private set; } public override void Write (char value) { @@ -70,7 +70,7 @@ public override void Write (char value) extra_data.Append (value); } - public override void Write (string value) + public override void Write (string? value) { if (real_time_reporting) BaseWriter.Write (value); @@ -81,6 +81,7 @@ public override void Write (string value) public override void Close () { if (XmlOutputWriter is not null) { + var result = Runner.Result; // now we want the XML report to write real_time_reporting = true; // write to a temporary string, because NUnit2XmlOutputWriter.WriteResultFile closes the stream, @@ -88,7 +89,8 @@ public override void Close () var wrapped = mode == XmlMode.Wrapped; if (!wrapped) { - XmlOutputWriter.WriteResultFile (Runner.Result, BaseWriter); + if (result is not null) + XmlOutputWriter.WriteResultFile (result, BaseWriter); if (extra_data.Length > 0) { BaseWriter.Write (" $(NoWarn);CA1422 + + enable + Nullable diff --git a/tests/introspection/ApiBaseTest.cs b/tests/introspection/ApiBaseTest.cs index af67f58c996e..02cd37df96cd 100644 --- a/tests/introspection/ApiBaseTest.cs +++ b/tests/introspection/ApiBaseTest.cs @@ -101,7 +101,7 @@ protected TextWriter Writer { #if MONOMAC get { return Console.Out; } #else - get { return AppDelegate.Runner.Writer; } + get { return AppDelegate.Runner.Writer!; } #endif }