diff options
Diffstat (limited to 'Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/NUnitExtensions/TestResultExtensions.cs')
| -rw-r--r-- | Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/NUnitExtensions/TestResultExtensions.cs | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/NUnitExtensions/TestResultExtensions.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/NUnitExtensions/TestResultExtensions.cs new file mode 100644 index 0000000..0c14397 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/NUnitExtensions/TestResultExtensions.cs @@ -0,0 +1,77 @@ +using System;
+using NUnit.Framework;
+using NUnit.Framework.Interfaces;
+using NUnit.Framework.Internal;
+
+namespace UnityEngine.TestRunner.NUnitExtensions
+{
+ internal static class TestResultExtensions
+ {
+ public static void RecordPrefixedException(this TestResult testResult, string prefix, Exception ex, ResultState resultState = null)
+
+ {
+ if (ex is NUnitException)
+ {
+ ex = ex.InnerException;
+ }
+
+ if (resultState == null)
+ {
+ resultState = testResult.ResultState == ResultState.Cancelled
+ ? ResultState.Cancelled
+ : ResultState.Error;
+ }
+
+ var exceptionMessage = ExceptionHelper.BuildMessage(ex);
+ string stackTrace = "--" + prefix + NUnit.Env.NewLine + ExceptionHelper.BuildStackTrace(ex);
+ if (testResult.StackTrace != null)
+ {
+ stackTrace = testResult.StackTrace + NUnit.Env.NewLine + stackTrace;
+ }
+
+ if (testResult.Test.IsSuite)
+ {
+ resultState = resultState.WithSite(FailureSite.TearDown);
+ }
+
+ if (ex is ResultStateException)
+ {
+ exceptionMessage = ex.Message;
+ resultState = ((ResultStateException)ex).ResultState;
+ stackTrace = StackFilter.Filter(ex.StackTrace);
+ }
+
+ string message = (string.IsNullOrEmpty(prefix) ? "" : (prefix + " : ")) + exceptionMessage;
+ if (testResult.Message != null)
+ {
+ message = testResult.Message + NUnit.Env.NewLine + message;
+ }
+
+ testResult.SetResult(resultState, message, stackTrace);
+ }
+
+ public static void RecordPrefixedError(this TestResult testResult, string prefix, string error, ResultState resultState = null)
+
+ {
+ if (resultState == null)
+ {
+ resultState = testResult.ResultState == ResultState.Cancelled
+ ? ResultState.Cancelled
+ : ResultState.Error;
+ }
+
+ if (testResult.Test.IsSuite)
+ {
+ resultState = resultState.WithSite(FailureSite.TearDown);
+ }
+
+ string message = (string.IsNullOrEmpty(prefix) ? "" : (prefix + " : ")) + error;
+ if (testResult.Message != null)
+ {
+ message = testResult.Message + NUnit.Env.NewLine + message;
+ }
+
+ testResult.SetResult(resultState, message);
+ }
+ }
+}
\ No newline at end of file |
