Просмотр исходного кода

Change Jint.Tests.CommonScripts run with NUnit (#1118)

Marko Lahma 3 лет назад
Родитель
Сommit
9b060234b1

+ 3 - 3
Jint.Benchmark/Jint.Benchmark.csproj

@@ -24,9 +24,9 @@
     <ProjectReference Include="..\Jint\Jint.csproj" />
   </ItemGroup>
   <ItemGroup>
-    <PackageReference Include="BenchmarkDotNet" Version="0.13.0" />
-    <PackageReference Include="Jurassic" Version="3.1.0" />
-    <PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
+    <PackageReference Include="BenchmarkDotNet" Version="0.13.1" />
+    <PackageReference Include="Jurassic" Version="3.2.4" />
+    <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
     <PackageReference Include="NiL.JS.NetCore" Version="2.5.1419" />
   </ItemGroup>
 </Project>

+ 3 - 6
Jint.Tests.CommonScripts/Jint.Tests.CommonScripts.csproj

@@ -11,11 +11,8 @@
     <ProjectReference Include="..\Jint\Jint.csproj" />
   </ItemGroup>
   <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.10.0" />
-    <PackageReference Include="xunit" Version="2.4.1" />
-    <PackageReference Include="xunit.analyzers" Version="0.10.0" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" />
-    <PackageReference Include="xunit.runner.console" Version="2.4.1" />
-    <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.1.0" />
+    <PackageReference Include="NUnit" Version="3.13.3" />
+    <PackageReference Include="NUnit3TestAdapter" Version="4.2.1" />
   </ItemGroup>
 </Project>

+ 37 - 44
Jint.Tests.CommonScripts/SunSpiderTests.cs

@@ -2,18 +2,17 @@
 using System.IO;
 using System.Reflection;
 using Jint.Runtime;
-using Xunit;
+using NUnit.Framework;
 
 namespace Jint.Tests.CommonScripts
 {
     public class SunSpiderTests
     {
-        private Engine RunTest(string source)
+        private static void RunTest(string source)
         {
             var engine = new Engine()
-                .SetValue("log", new Action<object>(Console.WriteLine))
-                .SetValue("assert", new Action<bool, string>(Assert.True))
-            ;
+                    .SetValue("log", new Action<object>(Console.WriteLine))
+                    .SetValue("assert", new Action<bool, string>((condition, message) => Assert.True(condition, message)));
 
             try
             {
@@ -23,41 +22,40 @@ namespace Jint.Tests.CommonScripts
             {
                 throw new Exception(je.ToString());
             }
-
-            return engine;
         }
 
-        [Theory(DisplayName = "Sunspider")]
-        [InlineData("3d-cube.js")]
-        [InlineData("3d-morph.js")]
-        [InlineData("3d-raytrace.js")]
-        [InlineData("access-binary-trees.js")]
-        [InlineData("access-fannkuch.js")]
-        [InlineData("access-nbody.js")]
-        [InlineData("access-nsieve.js")]
-        [InlineData("bitops-3bit-bits-in-byte.js")]
-        [InlineData("bitops-bits-in-byte.js")]
-        [InlineData("bitops-bitwise-and.js")]
-        [InlineData("bitops-nsieve-bits.js")]
+        [Test]
+        [Parallelizable(ParallelScope.All)]
+        [TestCase("3d-cube.js")]
+        [TestCase("3d-morph.js")]
+        [TestCase("3d-raytrace.js")]
+        [TestCase("access-binary-trees.js")]
+        [TestCase("access-fannkuch.js")]
+        [TestCase("access-nbody.js")]
+        [TestCase("access-nsieve.js")]
+        [TestCase("bitops-3bit-bits-in-byte.js")]
+        [TestCase("bitops-bits-in-byte.js")]
+        [TestCase("bitops-bitwise-and.js")]
+        [TestCase("bitops-nsieve-bits.js")]
 #if !DEBUG // should only be ran in release mode when inlining happens
-        [InlineData("controlflow-recursive.js")]
+        [TestCase("controlflow-recursive.js")]
 #endif
-        [InlineData("crypto-aes.js")]
-        [InlineData("crypto-md5.js")]
-        [InlineData("crypto-sha1.js")]
-        [InlineData("date-format-tofte.js")]
-        [InlineData("date-format-xparb.js")]
-        [InlineData("math-cordic.js")]
-        [InlineData("math-partial-sums.js")]
-        [InlineData("math-spectral-norm.js")]
-        [InlineData("regexp-dna.js")]
-        [InlineData("string-base64.js")]
-        [InlineData("string-fasta.js")]
-        [InlineData("string-tagcloud.js")]
-        [InlineData("string-unpack-code.js")]
-        [InlineData("string-validate-input.js")]
-        [InlineData("babel-standalone.js")]
-        public void RunScript(string url)
+        [TestCase("crypto-aes.js")]
+        [TestCase("crypto-md5.js")]
+        [TestCase("crypto-sha1.js")]
+        [TestCase("date-format-tofte.js")]
+        [TestCase("date-format-xparb.js")]
+        [TestCase("math-cordic.js")]
+        [TestCase("math-partial-sums.js")]
+        [TestCase("math-spectral-norm.js")]
+        [TestCase("regexp-dna.js")]
+        [TestCase("string-base64.js")]
+        [TestCase("string-fasta.js")]
+        [TestCase("string-tagcloud.js")]
+        [TestCase("string-unpack-code.js")]
+        [TestCase("string-validate-input.js")]
+        [TestCase("babel-standalone.js")]
+        public void Sunspider(string url)
         {
             var content = GetEmbeddedFile(url);
             RunTest(content);
@@ -70,14 +68,9 @@ namespace Jint.Tests.CommonScripts
             var assembly = typeof(SunSpiderTests).GetTypeInfo().Assembly;
             var scriptPath = prefix + filename;
 
-            using (var stream = assembly.GetManifestResourceStream(scriptPath))
-            {
-                using (var sr = new StreamReader(stream))
-                {
-                    return sr.ReadToEnd();
-                }
-            }
+            using var stream = assembly.GetManifestResourceStream(scriptPath);
+            using var sr = new StreamReader(stream);
+            return sr.ReadToEnd();
         }
-
     }
 }

+ 1 - 1
Jint.Tests.Test262/Jint.Tests.Test262.csproj

@@ -10,7 +10,7 @@
     <ProjectReference Include="..\Jint\Jint.csproj" />
   </ItemGroup>
   <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.0.0" />
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.1.0" />
     <PackageReference Include="NUnit" Version="3.13.3" />
     <PackageReference Include="NUnit3TestAdapter" Version="4.2.1" />
     <PackageReference Include="Test262Harness" Version="0.0.11" />

+ 4 - 7
Jint.Tests/Jint.Tests.csproj

@@ -18,14 +18,11 @@
     <Reference Include="Microsoft.CSharp" Condition=" '$(TargetFramework)' == 'net461' " />
   </ItemGroup>
   <ItemGroup>
-    <PackageReference Include="Flurl.Http.Signed" Version="3.0.0" />
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.10.0" />
-    <PackageReference Include="MongoDB.Bson.signed" Version="2.11.2" />
-    <PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
+    <PackageReference Include="Flurl.Http.Signed" Version="3.2.0" />
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.1.0" />
+    <PackageReference Include="MongoDB.Bson.signed" Version="2.14.1" />
+    <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
     <PackageReference Include="xunit" Version="2.4.1" />
-    <PackageReference Include="xunit.analyzers" Version="0.10.0" />
     <PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" />
-    <PackageReference Include="xunit.runner.console" Version="2.4.1" />
-    <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
   </ItemGroup>
 </Project>

+ 0 - 4
Jint/Directory.Build.props

@@ -29,8 +29,4 @@
 
   </PropertyGroup>
 
-  <ItemGroup Condition="'$(SourceLinkEnabled)' != 'false'">
-    <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All"/>
-  </ItemGroup>
-
 </Project>

+ 2 - 1
Jint/Jint.csproj

@@ -9,7 +9,8 @@
   </PropertyGroup>
   <ItemGroup>
     <PackageReference Include="Esprima" Version="2.1.2" />
-    <PackageReference Include="IsExternalInit" Version="1.0.1" PrivateAssets="all" />
+    <PackageReference Include="IsExternalInit" Version="1.0.2" PrivateAssets="all" />
+    <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="all" />
     <PackageReference Include="Nullable" Version="1.3.0" PrivateAssets="all" />
   </ItemGroup>
 </Project>