diff --git a/OpenTK.sln b/OpenTK.sln
index 9c0f0b1c..36f4ca74 100644
--- a/OpenTK.sln
+++ b/OpenTK.sln
@@ -38,6 +38,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "project", "project", "{5EEE
EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "OpenTK.Tests", "tests\OpenTK.Tests\OpenTK.Tests.fsproj", "{6801C263-ADDA-4A7B-979D-649BCB5A1DF7}"
EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "OpenTK.Tests.Integration", "tests\OpenTK.Tests.Integration\OpenTK.Tests.Integration.fsproj", "{522D9279-3ED6-475F-867A-6AE69A53C24A}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -84,6 +86,10 @@ Global
{6801C263-ADDA-4A7B-979D-649BCB5A1DF7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6801C263-ADDA-4A7B-979D-649BCB5A1DF7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6801C263-ADDA-4A7B-979D-649BCB5A1DF7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {522D9279-3ED6-475F-867A-6AE69A53C24A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {522D9279-3ED6-475F-867A-6AE69A53C24A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {522D9279-3ED6-475F-867A-6AE69A53C24A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {522D9279-3ED6-475F-867A-6AE69A53C24A}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -91,5 +97,6 @@ Global
GlobalSection(NestedProjects) = preSolution
{C4DDD20F-CB4E-43F4-A75C-4A3D668E1F99} = {1857BB8E-1A35-4EBF-9F6D-685F11DC025B}
{6801C263-ADDA-4A7B-979D-649BCB5A1DF7} = {1857BB8E-1A35-4EBF-9F6D-685F11DC025B}
+ {522D9279-3ED6-475F-867A-6AE69A53C24A} = {1857BB8E-1A35-4EBF-9F6D-685F11DC025B}
EndGlobalSection
EndGlobal
diff --git a/build.fsx b/build.fsx
index e43bc00c..b153c0fb 100644
--- a/build.fsx
+++ b/build.fsx
@@ -88,7 +88,7 @@ let activeProjects =
-- "**/OpenTK.iOS.csproj"
!! "src/**/*.??proj"
- ++ "tests/**/OpenTK.Tests.fsproj"
+ ++ "tests/**/OpenTK.Tests*.fsproj"
|> xamarinFilter
// Generate assembly info files with the right version & up-to-date information
diff --git a/tests/OpenTK.Tests.Integration/App.config b/tests/OpenTK.Tests.Integration/App.config
new file mode 100644
index 00000000..571e8b49
--- /dev/null
+++ b/tests/OpenTK.Tests.Integration/App.config
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/OpenTK.Tests.Integration/AssemblyInfo.fs b/tests/OpenTK.Tests.Integration/AssemblyInfo.fs
new file mode 100644
index 00000000..9aa700ce
--- /dev/null
+++ b/tests/OpenTK.Tests.Integration/AssemblyInfo.fs
@@ -0,0 +1,41 @@
+namespace OpenTK.Tests.Integration.AssemblyInfo
+
+open System.Reflection
+open System.Runtime.CompilerServices
+open System.Runtime.InteropServices
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[]
+[]
+[]
+[]
+[]
+[]
+[]
+[]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// []
+[]
+[]
+
+do
+ ()
diff --git a/tests/OpenTK.Tests.Integration/GameWindowTests.fs b/tests/OpenTK.Tests.Integration/GameWindowTests.fs
new file mode 100644
index 00000000..5b31a588
--- /dev/null
+++ b/tests/OpenTK.Tests.Integration/GameWindowTests.fs
@@ -0,0 +1,194 @@
+namespace OpenTK.Tests.Integration
+
+open Xunit
+open FsCheck
+open FsCheck.Xunit
+open System
+open System.Runtime.InteropServices
+open OpenTK
+
+module GameWindow =
+ module General =
+ []
+ let ``Can create and close GameWindow`` () =
+ use gw = new OpenTK.GameWindow()
+ gw.Close()
+
+ []
+ let ``Exit works like Close`` () =
+ use gw = new OpenTK.GameWindow()
+ gw.Exit()
+
+ []
+ let ``GameWindow exists after creation`` () =
+ use gw = new OpenTK.GameWindow()
+ Assert.True(gw.Exists)
+ gw.Exit()
+
+ []
+ let ``Can close GameWindow on UpdateFrame`` () =
+ use gw = new OpenTK.GameWindow()
+ gw.UpdateFrame.Add(fun _ -> gw.Close())
+ gw.Run()
+
+ []
+ let ``Closing event is sent before closed`` () =
+ use gw = new OpenTK.GameWindow()
+ let signals = System.Collections.Generic.List()
+ gw.Closing.Add(fun _ -> signals.Add("Closing"))
+ gw.Closed.Add(fun _ -> signals.Add("Closed"))
+ gw.Close()
+ Assert.Equal([], signals)
+ gw.ProcessEvents()
+ Assert.Equal(["Closing"; "Closed"], signals)
+
+ module Constructors =
+ []
+ let ``Width and Height can be set via constructor`` () =
+ use gw = new OpenTK.GameWindow(200, 100)
+ Assert.Equal(200, gw.Width)
+ Assert.Equal(100, gw.Height)
+
+ module Sizes =
+ []
+ let ``Updates to Width take effect`` () =
+ use gw = new OpenTK.GameWindow()
+ let oldWidth = gw.Width
+ let newWidth = oldWidth + 1
+ gw.Width <- newWidth
+ Assert.Equal(newWidth, gw.Width)
+
+ []
+ let ``Updates to Height take effect`` () =
+ use gw = new OpenTK.GameWindow()
+ let oldHeight = gw.Height
+ let newHeight = oldHeight + 1
+ gw.Height <- newHeight
+ Assert.Equal(newHeight, gw.Height)
+
+ []
+ let ``Updates to Size take effect`` () =
+ use gw = new OpenTK.GameWindow()
+ let oldSize = gw.Size
+ let newSize = System.Drawing.Size(oldSize.Width + 1, oldSize.Height + 1)
+ gw.Size <- newSize
+ Assert.Equal(newSize, gw.Size)
+
+ []
+ let ``Updates to ClientSize take effect`` () =
+ use gw = new OpenTK.GameWindow()
+ let oldSize = gw.ClientSize
+ let newSize = System.Drawing.Size(oldSize.Width + 1, oldSize.Height + 1)
+ gw.ClientSize <- newSize
+ Assert.Equal(newSize, gw.ClientSize)
+
+ []
+ let ``Updates to ClientRectangle.Size take effect`` () =
+ use gw = new OpenTK.GameWindow()
+ let oldSize = gw.ClientRectangle.Size
+ let newSize = System.Drawing.Size(oldSize.Width + 1, oldSize.Height + 1)
+ let newRect = System.Drawing.Rectangle(gw.ClientRectangle.Location, newSize)
+ gw.ClientRectangle <- newRect
+ Assert.Equal(newRect, gw.ClientRectangle)
+
+ []
+ let ``Updates to Bounds.Size take effect`` () =
+ use gw = new OpenTK.GameWindow()
+ let oldSize = gw.Bounds.Size
+ let newSize = System.Drawing.Size(oldSize.Width + 1, oldSize.Height + 1)
+ let newRect = System.Drawing.Rectangle(gw.Bounds.Location, newSize)
+ gw.Bounds <- newRect
+ Assert.Equal(newRect, gw.Bounds)
+
+ []
+ let ``ClientSize equals ClientRectangle.Size`` () =
+ use gw = new OpenTK.GameWindow()
+ Assert.Equal(gw.ClientSize, gw.ClientRectangle.Size)
+
+ []
+ let ``Size equals Bounds.Size`` () =
+ use gw = new OpenTK.GameWindow()
+ Assert.Equal(gw.Size, gw.Bounds.Size)
+
+ []
+ let ``Width and Height equals ClientSize`` () =
+ use gw = new OpenTK.GameWindow()
+ Assert.Equal(System.Drawing.Size(gw.Width, gw.Height), gw.ClientSize)
+
+ module Locations =
+ []
+ let ``Updates to X take effect`` () =
+ use gw = new OpenTK.GameWindow()
+ let oldX = gw.X
+ let newX = oldX + 1
+ gw.X <- newX
+ Assert.Equal(newX, gw.X)
+
+ []
+ let ``Updates to Y take effect`` () =
+ use gw = new OpenTK.GameWindow()
+ let oldY = gw.Y
+ let newY = oldY + 1
+ gw.Y <- newY
+ Assert.Equal(newY, gw.Y)
+
+ []
+ let ``Updates to Location take effect`` () =
+ use gw = new OpenTK.GameWindow()
+ let oldLocation = gw.Location
+ let newLocation = System.Drawing.Point(oldLocation.X + 1, oldLocation.Y + 1)
+ gw.Location <- newLocation
+ Assert.Equal(newLocation, gw.Location)
+
+ []
+ let ``Updates to Bounds.Location take effect`` () =
+ use gw = new OpenTK.GameWindow()
+ let oldLocation = gw.Bounds.Location
+ let newLocation = System.Drawing.Point(oldLocation.X + 1, oldLocation.Y + 1)
+ let newRect = System.Drawing.Rectangle(newLocation, gw.ClientRectangle.Size)
+ gw.Bounds <- newRect
+ Assert.Equal(newRect, gw.Bounds)
+
+ []
+ let ``Location equals Bounds.Location`` () =
+ use gw = new OpenTK.GameWindow()
+ Assert.Equal(gw.Location, gw.Bounds.Location)
+
+ []
+ let ``X and Y equals Location`` () =
+ use gw = new OpenTK.GameWindow()
+ Assert.Equal(System.Drawing.Point(gw.X, gw.Y), gw.Location)
+
+ []
+ let ``ClientRectangle.Location is zero`` () =
+ use gw = new OpenTK.GameWindow()
+ Assert.Equal(System.Drawing.Point.Empty, gw.ClientRectangle.Location)
+
+ module Borders =
+ []
+ let ``Updates to BorderStyle take effect`` () =
+ use gw = new OpenTK.GameWindow()
+ gw.WindowBorder <- WindowBorder.Fixed
+ Assert.Equal(WindowBorder.Fixed, gw.WindowBorder)
+ gw.WindowBorder <- WindowBorder.Hidden
+ Assert.Equal(WindowBorder.Hidden, gw.WindowBorder)
+ gw.WindowBorder <- WindowBorder.Resizable
+ Assert.Equal(WindowBorder.Resizable, gw.WindowBorder)
+
+ []
+ let ``Can resize fixed borders`` () =
+ use gw = new OpenTK.GameWindow()
+ gw.WindowBorder <- WindowBorder.Fixed
+ let oldSize = gw.Size
+ let newSize = System.Drawing.Size(oldSize.Width + 1, oldSize.Height + 1)
+ gw.Size <- newSize
+ Assert.Equal(newSize, gw.Size)
+
+ []
+ let ``Can resize hidden borders`` () =
+ use gw = new OpenTK.GameWindow()
+ gw.WindowBorder <- WindowBorder.Hidden
+ let oldSize = gw.Size
+ let newSize = System.Drawing.Size(oldSize.Width + 1, oldSize.Height + 1)
+ gw.Size <- newSize
+ Assert.Equal(newSize, gw.Size)
diff --git a/tests/OpenTK.Tests.Integration/OpenTK.Tests.Integration.fsproj b/tests/OpenTK.Tests.Integration/OpenTK.Tests.Integration.fsproj
new file mode 100644
index 00000000..77e09d86
--- /dev/null
+++ b/tests/OpenTK.Tests.Integration/OpenTK.Tests.Integration.fsproj
@@ -0,0 +1,1678 @@
+
+
+
+
+ Debug
+ AnyCPU
+ 2.0
+ 522d9279-3ed6-475f-867a-6ae69a53c24a
+ Library
+ OpenTK.Tests.Integration
+ OpenTK.Tests.Integration
+ v4.5.2
+ 4.4.0.0
+ true
+ OpenTK.Tests.Integration
+ true
+ Program
+ packages\xunit.runner.console\tools\xunit.console.exe
+ OpenTK.Tests.Integration.dll
+
+
+ true
+ full
+ false
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ 3
+ bin\Debug\OpenTK.Tests.Integration.XML
+
+
+ pdbonly
+ true
+ true
+ bin\Release\
+ TRACE
+ 3
+ bin\Release\OpenTK.Tests.Integration.XML
+
+
+ 11
+
+
+
+
+ $(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets
+
+
+
+
+ $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OpenTK
+ {a37a7e14-0000-0000-0000-000000000000}
+ True
+
+
+
+
+
+
+ ..\..\packages\FsCheck\lib\net452\FsCheck.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FsCheck\lib\netstandard1.6\FsCheck.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FsCheck\lib\portable-net45+netcore45\FsCheck.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FsCheck\lib\portable-net45+netcore45+wp8\FsCheck.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FsCheck\lib\portable-net45+netcore45+wpa81+wp8\FsCheck.dll
+ True
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\FsCheck.Xunit\lib\net452\FsCheck.Xunit.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FsCheck.Xunit\lib\netstandard1.6\FsCheck.Xunit.dll
+ True
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core\lib\net45\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core\lib\netstandard1.6\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\Microsoft.Win32.Primitives\ref\netstandard1.3\Microsoft.Win32.Primitives.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.AppContext\ref\netstandard1.3\System.AppContext.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.AppContext\lib\netstandard1.6\System.AppContext.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.AppContext\ref\netstandard1.6\System.AppContext.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Buffers\lib\netstandard1.1\System.Buffers.dll
+ True
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Collections\ref\netstandard1.0\System.Collections.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Collections\ref\netstandard1.3\System.Collections.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Collections.Concurrent\ref\netstandard1.1\System.Collections.Concurrent.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Collections.Concurrent\lib\netstandard1.3\System.Collections.Concurrent.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Collections.Concurrent\ref\netstandard1.3\System.Collections.Concurrent.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Console\lib\net46\System.Console.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Console\ref\netstandard1.3\System.Console.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Diagnostics.Debug\ref\netstandard1.0\System.Diagnostics.Debug.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Diagnostics.Debug\ref\netstandard1.3\System.Diagnostics.Debug.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Diagnostics.DiagnosticSource\lib\netstandard1.3\System.Diagnostics.DiagnosticSource.dll
+ True
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Diagnostics.Tools\ref\netstandard1.0\System.Diagnostics.Tools.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.1\System.Diagnostics.Tracing.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.2\System.Diagnostics.Tracing.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.3\System.Diagnostics.Tracing.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.5\System.Diagnostics.Tracing.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Globalization\ref\netstandard1.0\System.Globalization.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Globalization\ref\netstandard1.3\System.Globalization.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Globalization.Calendars\ref\netstandard1.3\System.Globalization.Calendars.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Globalization.Extensions\ref\netstandard1.3\System.Globalization.Extensions.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.IO\lib\net462\System.IO.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.IO\ref\netstandard1.0\System.IO.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.IO\ref\netstandard1.3\System.IO.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.IO\ref\netstandard1.5\System.IO.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+ ..\..\packages\System.IO.Compression\ref\netstandard1.1\System.IO.Compression.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.IO.Compression\ref\netstandard1.3\System.IO.Compression.dll
+ False
+ True
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.IO.Compression.ZipFile\lib\netstandard1.3\System.IO.Compression.ZipFile.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.IO.Compression.ZipFile\ref\netstandard1.3\System.IO.Compression.ZipFile.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.IO.FileSystem\ref\netstandard1.3\System.IO.FileSystem.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.IO.FileSystem.Primitives\lib\netstandard1.3\System.IO.FileSystem.Primitives.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.IO.FileSystem.Primitives\ref\netstandard1.3\System.IO.FileSystem.Primitives.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Linq\lib\net463\System.Linq.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Linq\ref\netstandard1.0\System.Linq.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Linq\lib\netstandard1.6\System.Linq.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Linq\ref\netstandard1.6\System.Linq.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Linq.Expressions\lib\net463\System.Linq.Expressions.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Linq.Expressions\ref\netstandard1.0\System.Linq.Expressions.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Linq.Expressions\ref\netstandard1.3\System.Linq.Expressions.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Linq.Expressions\lib\netstandard1.6\System.Linq.Expressions.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Linq.Expressions\ref\netstandard1.6\System.Linq.Expressions.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Linq.Queryable\ref\netstandard1.0\System.Linq.Queryable.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Linq.Queryable\lib\netstandard1.3\System.Linq.Queryable.dll
+ True
+ True
+
+
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Net.Http\ref\netstandard1.1\System.Net.Http.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Net.Http\ref\netstandard1.3\System.Net.Http.dll
+ False
+ True
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Net.Primitives\ref\netstandard1.1\System.Net.Primitives.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Net.Primitives\ref\netstandard1.3\System.Net.Primitives.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Net.Requests\ref\netstandard1.3\System.Net.Requests.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Net.Sockets\ref\netstandard1.3\System.Net.Sockets.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Net.WebHeaderCollection\lib\netstandard1.3\System.Net.WebHeaderCollection.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Net.WebHeaderCollection\ref\netstandard1.3\System.Net.WebHeaderCollection.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.ObjectModel\ref\netstandard1.0\System.ObjectModel.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.ObjectModel\lib\netstandard1.3\System.ObjectModel.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.ObjectModel\ref\netstandard1.3\System.ObjectModel.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Reflection\lib\net462\System.Reflection.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Reflection\ref\netstandard1.0\System.Reflection.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Reflection\ref\netstandard1.3\System.Reflection.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Reflection\ref\netstandard1.5\System.Reflection.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Reflection.Emit\ref\netstandard1.1\System.Reflection.Emit.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Reflection.Emit\lib\netstandard1.3\System.Reflection.Emit.dll
+ True
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Reflection.Emit.ILGeneration\ref\netstandard1.0\System.Reflection.Emit.ILGeneration.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Reflection.Emit.ILGeneration\lib\netstandard1.3\System.Reflection.Emit.ILGeneration.dll
+ True
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Reflection.Emit.Lightweight\ref\netstandard1.0\System.Reflection.Emit.Lightweight.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Reflection.Emit.Lightweight\lib\netstandard1.3\System.Reflection.Emit.Lightweight.dll
+ True
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Reflection.Extensions\ref\netstandard1.0\System.Reflection.Extensions.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Reflection.Primitives\ref\netstandard1.0\System.Reflection.Primitives.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Reflection.TypeExtensions\lib\net462\System.Reflection.TypeExtensions.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Reflection.TypeExtensions\lib\netstandard1.5\System.Reflection.TypeExtensions.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Reflection.TypeExtensions\ref\netstandard1.5\System.Reflection.TypeExtensions.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Resources.ResourceManager\ref\netstandard1.0\System.Resources.ResourceManager.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+ True
+
+
+ ..\..\packages\System.Runtime\lib\net462\System.Runtime.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime\ref\netstandard1.0\System.Runtime.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime\ref\netstandard1.2\System.Runtime.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime\ref\netstandard1.3\System.Runtime.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime\ref\netstandard1.5\System.Runtime.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.Extensions\lib\net462\System.Runtime.Extensions.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.Extensions\ref\netstandard1.0\System.Runtime.Extensions.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.Extensions\ref\netstandard1.3\System.Runtime.Extensions.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.Extensions\ref\netstandard1.5\System.Runtime.Extensions.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.Handles\ref\netstandard1.3\System.Runtime.Handles.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.InteropServices\ref\netcoreapp1.1\System.Runtime.InteropServices.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.1\System.Runtime.InteropServices.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.2\System.Runtime.InteropServices.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.3\System.Runtime.InteropServices.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.5\System.Runtime.InteropServices.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.InteropServices.RuntimeInformation\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.InteropServices.RuntimeInformation\lib\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.InteropServices.RuntimeInformation\ref\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.InteropServices.RuntimeInformation\lib\wpa81\System.Runtime.InteropServices.RuntimeInformation.dll
+ True
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.Numerics\ref\netstandard1.1\System.Runtime.Numerics.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.Numerics\lib\netstandard1.3\System.Runtime.Numerics.dll
+ True
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.3\System.Security.Cryptography.Algorithms.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.4\System.Security.Cryptography.Algorithms.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Security.Cryptography.Cng\ref\netstandard1.6\System.Security.Cryptography.Cng.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Security.Cryptography.Csp\ref\netstandard1.3\System.Security.Cryptography.Csp.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Security.Cryptography.Encoding\ref\netstandard1.3\System.Security.Cryptography.Encoding.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Security.Cryptography.OpenSsl\lib\netstandard1.6\System.Security.Cryptography.OpenSsl.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Security.Cryptography.OpenSsl\ref\netstandard1.6\System.Security.Cryptography.OpenSsl.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Security.Cryptography.Primitives\lib\netstandard1.3\System.Security.Cryptography.Primitives.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Security.Cryptography.Primitives\ref\netstandard1.3\System.Security.Cryptography.Primitives.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.3\System.Security.Cryptography.X509Certificates.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Text.Encoding\ref\netstandard1.0\System.Text.Encoding.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Text.Encoding\ref\netstandard1.3\System.Text.Encoding.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Text.Encoding.Extensions\ref\netstandard1.0\System.Text.Encoding.Extensions.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Text.Encoding.Extensions\ref\netstandard1.3\System.Text.Encoding.Extensions.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Text.RegularExpressions\ref\netcoreapp1.1\System.Text.RegularExpressions.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Text.RegularExpressions\ref\netstandard1.0\System.Text.RegularExpressions.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Text.RegularExpressions\ref\netstandard1.3\System.Text.RegularExpressions.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Text.RegularExpressions\lib\netstandard1.6\System.Text.RegularExpressions.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Text.RegularExpressions\ref\netstandard1.6\System.Text.RegularExpressions.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Threading\ref\netstandard1.0\System.Threading.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Threading\lib\netstandard1.3\System.Threading.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Threading\ref\netstandard1.3\System.Threading.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Threading.Tasks\ref\netstandard1.0\System.Threading.Tasks.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Threading.Tasks\ref\netstandard1.3\System.Threading.Tasks.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Threading.Tasks.Extensions\lib\netstandard1.0\System.Threading.Tasks.Extensions.dll
+ True
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Threading.Tasks.Parallel\ref\netstandard1.1\System.Threading.Tasks.Parallel.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Threading.Tasks.Parallel\lib\netstandard1.3\System.Threading.Tasks.Parallel.dll
+ True
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Threading.Thread\lib\netstandard1.3\System.Threading.Thread.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Threading.Thread\ref\netstandard1.3\System.Threading.Thread.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Threading.ThreadPool\lib\netstandard1.3\System.Threading.ThreadPool.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Threading.ThreadPool\ref\netstandard1.3\System.Threading.ThreadPool.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Threading.Timer\ref\netstandard1.2\System.Threading.Timer.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Xml.ReaderWriter\ref\netstandard1.0\System.Xml.ReaderWriter.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Xml.ReaderWriter\lib\netstandard1.3\System.Xml.ReaderWriter.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Xml.ReaderWriter\ref\netstandard1.3\System.Xml.ReaderWriter.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Xml.XDocument\ref\netstandard1.0\System.Xml.XDocument.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Xml.XDocument\lib\netstandard1.3\System.Xml.XDocument.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Xml.XDocument\ref\netstandard1.3\System.Xml.XDocument.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\xunit.abstractions\lib\net35\xunit.abstractions.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\xunit.abstractions\lib\netstandard1.0\xunit.abstractions.dll
+ True
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\xunit.assert\lib\netstandard1.1\xunit.assert.dll
+ True
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\xunit.extensibility.core\lib\netstandard1.1\xunit.core.dll
+ True
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\xunit.extensibility.execution\lib\net452\xunit.execution.desktop.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\xunit.extensibility.execution\lib\netstandard1.1\xunit.execution.dotnet.dll
+ True
+ True
+
+
+
+
+
diff --git a/tests/OpenTK.Tests.Integration/paket.references b/tests/OpenTK.Tests.Integration/paket.references
new file mode 100644
index 00000000..ecbc089e
--- /dev/null
+++ b/tests/OpenTK.Tests.Integration/paket.references
@@ -0,0 +1,2 @@
+FsCheck.Xunit
+xunit.assert