From ceb4f7df85c264d0bbe8ee549db151c750a33e1c Mon Sep 17 00:00:00 2001 From: Eric Sink Date: Fri, 8 Aug 2025 10:54:23 -0500 Subject: [PATCH 1/5] initial progress toward updating to SQLitePCLRaw 3.x. the SQLitePCLRaw bundles for e_sqlcipher, e_sqlite3mc, winsqlite3, and plain sqlite3, are no longer supported. so for now, the corresponding test suites have been removed from the sln file. the winsqlite3 and plain sqlite3 test suites can be brought back by using the SQLitePCLRaw provider directly, but those packages don't seem to be available to this build system yet. the test suites for crypto-enabled SQLite would require some other approach, as I no longer publish SQLite builds with crypto at no cost. --- Directory.Packages.props | 1 - EFCore.sln | 28 ------------------- eng/Versions.props | 2 +- test/Directory.Packages.props | 7 ++--- ...Microsoft.Data.Sqlite.sqlite3.Tests.csproj | 3 +- ...rosoft.Data.Sqlite.winsqlite3.Tests.csproj | 3 +- 6 files changed, 8 insertions(+), 36 deletions(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index 252927d8e87..7a6d086f1ae 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -54,7 +54,6 @@ - diff --git a/EFCore.sln b/EFCore.sln index fecc4fafa42..462a826c8d2 100644 --- a/EFCore.sln +++ b/EFCore.sln @@ -111,14 +111,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFCore.Sqlite.Benchmarks", EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFCore.Benchmarks", "benchmark\EFCore.Benchmarks\EFCore.Benchmarks.csproj", "{2642F4F0-69BE-4C43-94B7-B298FEC87D89}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Data.Sqlite.e_sqlcipher.Tests", "test\Microsoft.Data.Sqlite.Tests\Microsoft.Data.Sqlite.e_sqlcipher.Tests.csproj", "{7B598E0C-B8E2-4F1F-B53C-ED84178E65BE}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Data.Sqlite.e_sqlite3mc.Tests", "test\Microsoft.Data.Sqlite.Tests\Microsoft.Data.Sqlite.e_sqlite3mc.Tests.csproj", "{203F3577-9E24-4714-AD31-F119B26FA8C1}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Data.Sqlite.winsqlite3.Tests", "test\Microsoft.Data.Sqlite.Tests\Microsoft.Data.Sqlite.winsqlite3.Tests.csproj", "{B163761D-FB4A-4C80-BAB9-01905E1351EF}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Data.Sqlite.sqlite3.Tests", "test\Microsoft.Data.Sqlite.Tests\Microsoft.Data.Sqlite.sqlite3.Tests.csproj", "{E0FF35C8-8038-4394-9C2A-AF34BE3CC61F}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFCore.OData.FunctionalTests", "test\EFCore.OData.FunctionalTests\EFCore.OData.FunctionalTests.csproj", "{7C0E5443-FE44-4436-8A7D-CE64D1F889BD}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFCore.AspNet.Specification.Tests", "test\EFCore.AspNet.Specification.Tests\EFCore.AspNet.Specification.Tests.csproj", "{80A812BF-8AB7-4197-AC1C-712BA5E818FB}" @@ -313,22 +305,6 @@ Global {2642F4F0-69BE-4C43-94B7-B298FEC87D89}.Debug|Any CPU.Build.0 = Debug|Any CPU {2642F4F0-69BE-4C43-94B7-B298FEC87D89}.Release|Any CPU.ActiveCfg = Release|Any CPU {2642F4F0-69BE-4C43-94B7-B298FEC87D89}.Release|Any CPU.Build.0 = Release|Any CPU - {7B598E0C-B8E2-4F1F-B53C-ED84178E65BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7B598E0C-B8E2-4F1F-B53C-ED84178E65BE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7B598E0C-B8E2-4F1F-B53C-ED84178E65BE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7B598E0C-B8E2-4F1F-B53C-ED84178E65BE}.Release|Any CPU.Build.0 = Release|Any CPU - {203F3577-9E24-4714-AD31-F119B26FA8C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {203F3577-9E24-4714-AD31-F119B26FA8C1}.Debug|Any CPU.Build.0 = Debug|Any CPU - {203F3577-9E24-4714-AD31-F119B26FA8C1}.Release|Any CPU.ActiveCfg = Release|Any CPU - {203F3577-9E24-4714-AD31-F119B26FA8C1}.Release|Any CPU.Build.0 = Release|Any CPU - {B163761D-FB4A-4C80-BAB9-01905E1351EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B163761D-FB4A-4C80-BAB9-01905E1351EF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B163761D-FB4A-4C80-BAB9-01905E1351EF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B163761D-FB4A-4C80-BAB9-01905E1351EF}.Release|Any CPU.Build.0 = Release|Any CPU - {E0FF35C8-8038-4394-9C2A-AF34BE3CC61F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E0FF35C8-8038-4394-9C2A-AF34BE3CC61F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E0FF35C8-8038-4394-9C2A-AF34BE3CC61F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E0FF35C8-8038-4394-9C2A-AF34BE3CC61F}.Release|Any CPU.Build.0 = Release|Any CPU {7C0E5443-FE44-4436-8A7D-CE64D1F889BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7C0E5443-FE44-4436-8A7D-CE64D1F889BD}.Debug|Any CPU.Build.0 = Debug|Any CPU {7C0E5443-FE44-4436-8A7D-CE64D1F889BD}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -426,10 +402,6 @@ Global {24D7B6D5-A22A-4734-BB55-F464C112F891} = {293B4F79-3CB9-402A-A74C-B8108C41A7CF} {5A44F67E-517F-458D-B9C7-12A4DBBAD64A} = {293B4F79-3CB9-402A-A74C-B8108C41A7CF} {2642F4F0-69BE-4C43-94B7-B298FEC87D89} = {293B4F79-3CB9-402A-A74C-B8108C41A7CF} - {7B598E0C-B8E2-4F1F-B53C-ED84178E65BE} = {258D5057-81B9-40EC-A872-D21E27452749} - {203F3577-9E24-4714-AD31-F119B26FA8C1} = {258D5057-81B9-40EC-A872-D21E27452749} - {B163761D-FB4A-4C80-BAB9-01905E1351EF} = {258D5057-81B9-40EC-A872-D21E27452749} - {E0FF35C8-8038-4394-9C2A-AF34BE3CC61F} = {258D5057-81B9-40EC-A872-D21E27452749} {7C0E5443-FE44-4436-8A7D-CE64D1F889BD} = {258D5057-81B9-40EC-A872-D21E27452749} {80A812BF-8AB7-4197-AC1C-712BA5E818FB} = {258D5057-81B9-40EC-A872-D21E27452749} {F956A344-5C8D-4015-A3BF-7A8304C58BE4} = {258D5057-81B9-40EC-A872-D21E27452749} diff --git a/eng/Versions.props b/eng/Versions.props index b54e8dee43f..a5c33138a76 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -27,6 +27,6 @@ 1.14.0 1.3.2 1.12.0 - 2.1.11 + 3.0.1 diff --git a/test/Directory.Packages.props b/test/Directory.Packages.props index 53dbe47fc5c..aaf5bde653f 100644 --- a/test/Directory.Packages.props +++ b/test/Directory.Packages.props @@ -19,13 +19,12 @@ - - - + + - \ No newline at end of file + diff --git a/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.sqlite3.Tests.csproj b/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.sqlite3.Tests.csproj index 58047b3caef..b1ccc9dc6c5 100644 --- a/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.sqlite3.Tests.csproj +++ b/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.sqlite3.Tests.csproj @@ -11,7 +11,8 @@ - + + diff --git a/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.winsqlite3.Tests.csproj b/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.winsqlite3.Tests.csproj index e0a71beed0f..ba1b8a97d43 100644 --- a/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.winsqlite3.Tests.csproj +++ b/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.winsqlite3.Tests.csproj @@ -11,7 +11,8 @@ - + + From 080b97044e3bf30b10907da93a0b3e19c984db47 Mon Sep 17 00:00:00 2001 From: Eric Sink Date: Mon, 11 Aug 2025 09:15:01 -0500 Subject: [PATCH 2/5] bring back the sqlite tests for the plain sqlite3 and winsqlite3 providers --- EFCore.sln | 14 +++++++++++ .../TestUtilities/SqliteTestFramework.cs | 24 +++++++++++++++---- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/EFCore.sln b/EFCore.sln index 462a826c8d2..aa57209fa7e 100644 --- a/EFCore.sln +++ b/EFCore.sln @@ -111,6 +111,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFCore.Sqlite.Benchmarks", EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFCore.Benchmarks", "benchmark\EFCore.Benchmarks\EFCore.Benchmarks.csproj", "{2642F4F0-69BE-4C43-94B7-B298FEC87D89}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Data.Sqlite.winsqlite3.Tests", "test\Microsoft.Data.Sqlite.Tests\Microsoft.Data.Sqlite.winsqlite3.Tests.csproj", "{B163761D-FB4A-4C80-BAB9-01905E1351EF}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Data.Sqlite.sqlite3.Tests", "test\Microsoft.Data.Sqlite.Tests\Microsoft.Data.Sqlite.sqlite3.Tests.csproj", "{E0FF35C8-8038-4394-9C2A-AF34BE3CC61F}" +EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFCore.OData.FunctionalTests", "test\EFCore.OData.FunctionalTests\EFCore.OData.FunctionalTests.csproj", "{7C0E5443-FE44-4436-8A7D-CE64D1F889BD}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFCore.AspNet.Specification.Tests", "test\EFCore.AspNet.Specification.Tests\EFCore.AspNet.Specification.Tests.csproj", "{80A812BF-8AB7-4197-AC1C-712BA5E818FB}" @@ -305,6 +309,14 @@ Global {2642F4F0-69BE-4C43-94B7-B298FEC87D89}.Debug|Any CPU.Build.0 = Debug|Any CPU {2642F4F0-69BE-4C43-94B7-B298FEC87D89}.Release|Any CPU.ActiveCfg = Release|Any CPU {2642F4F0-69BE-4C43-94B7-B298FEC87D89}.Release|Any CPU.Build.0 = Release|Any CPU + {B163761D-FB4A-4C80-BAB9-01905E1351EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B163761D-FB4A-4C80-BAB9-01905E1351EF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B163761D-FB4A-4C80-BAB9-01905E1351EF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B163761D-FB4A-4C80-BAB9-01905E1351EF}.Release|Any CPU.Build.0 = Release|Any CPU + {E0FF35C8-8038-4394-9C2A-AF34BE3CC61F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E0FF35C8-8038-4394-9C2A-AF34BE3CC61F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E0FF35C8-8038-4394-9C2A-AF34BE3CC61F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E0FF35C8-8038-4394-9C2A-AF34BE3CC61F}.Release|Any CPU.Build.0 = Release|Any CPU {7C0E5443-FE44-4436-8A7D-CE64D1F889BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7C0E5443-FE44-4436-8A7D-CE64D1F889BD}.Debug|Any CPU.Build.0 = Debug|Any CPU {7C0E5443-FE44-4436-8A7D-CE64D1F889BD}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -402,6 +414,8 @@ Global {24D7B6D5-A22A-4734-BB55-F464C112F891} = {293B4F79-3CB9-402A-A74C-B8108C41A7CF} {5A44F67E-517F-458D-B9C7-12A4DBBAD64A} = {293B4F79-3CB9-402A-A74C-B8108C41A7CF} {2642F4F0-69BE-4C43-94B7-B298FEC87D89} = {293B4F79-3CB9-402A-A74C-B8108C41A7CF} + {B163761D-FB4A-4C80-BAB9-01905E1351EF} = {258D5057-81B9-40EC-A872-D21E27452749} + {E0FF35C8-8038-4394-9C2A-AF34BE3CC61F} = {258D5057-81B9-40EC-A872-D21E27452749} {7C0E5443-FE44-4436-8A7D-CE64D1F889BD} = {258D5057-81B9-40EC-A872-D21E27452749} {80A812BF-8AB7-4197-AC1C-712BA5E818FB} = {258D5057-81B9-40EC-A872-D21E27452749} {F956A344-5C8D-4015-A3BF-7A8304C58BE4} = {258D5057-81B9-40EC-A872-D21E27452749} diff --git a/test/Microsoft.Data.Sqlite.Tests/TestUtilities/SqliteTestFramework.cs b/test/Microsoft.Data.Sqlite.Tests/TestUtilities/SqliteTestFramework.cs index c041e44bc84..db32fdf7cee 100644 --- a/test/Microsoft.Data.Sqlite.Tests/TestUtilities/SqliteTestFramework.cs +++ b/test/Microsoft.Data.Sqlite.Tests/TestUtilities/SqliteTestFramework.cs @@ -16,10 +16,6 @@ "Microsoft.Data.Sqlite.Tests.TestUtilities.SqliteTestFramework", #if E_SQLITE3 "Microsoft.Data.Sqlite.Tests")] -#elif E_SQLCIPHER - "Microsoft.Data.Sqlite.e_sqlcipher.Tests")] -#elif E_SQLITE3MC - "Microsoft.Data.Sqlite.e_sqlite3mc.Tests")] #elif WINSQLITE3 "Microsoft.Data.Sqlite.winsqlite3.Tests")] #elif SQLITE3 @@ -30,6 +26,26 @@ namespace Microsoft.Data.Sqlite.Tests.TestUtilities; +#if WINSQLITE3 +public static class Batteries_V2 +{ + public static void Init() + { + SQLitePCL.raw.SetProvider(new SQLitePCL.SQLite3Provider_winsqlite3()); + } +} +#endif + +#if SQLITE3 +public static class Batteries_V2 +{ + public static void Init() + { + SQLitePCL.raw.SetProvider(new SQLitePCL.SQLite3Provider_sqlite3()); + } +} +#endif + internal class SqliteTestFramework : XunitTestFramework { protected SqliteTestFramework(IMessageSink diagnosticMessageSink) From 346eff5868dc39f4e2ef35af274c5b151739d41d Mon Sep 17 00:00:00 2001 From: Eric Sink Date: Wed, 13 Aug 2025 11:46:55 -0500 Subject: [PATCH 3/5] rm the e_sqlcipher and e_sqlitem3 test csproj files --- .../Properties/InternalsVisibleTo.cs | 4 ---- ...crosoft.Data.Sqlite.e_sqlcipher.Tests.csproj | 17 ----------------- ...crosoft.Data.Sqlite.e_sqlite3mc.Tests.csproj | 17 ----------------- 3 files changed, 38 deletions(-) delete mode 100644 test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.e_sqlcipher.Tests.csproj delete mode 100644 test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.e_sqlite3mc.Tests.csproj diff --git a/src/Microsoft.Data.Sqlite.Core/Properties/InternalsVisibleTo.cs b/src/Microsoft.Data.Sqlite.Core/Properties/InternalsVisibleTo.cs index 30f05a579ca..32860f4dacd 100644 --- a/src/Microsoft.Data.Sqlite.Core/Properties/InternalsVisibleTo.cs +++ b/src/Microsoft.Data.Sqlite.Core/Properties/InternalsVisibleTo.cs @@ -3,10 +3,6 @@ using System.Runtime.CompilerServices; -[assembly: InternalsVisibleTo( - "Microsoft.Data.Sqlite.e_sqlcipher.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] -[assembly: InternalsVisibleTo( - "Microsoft.Data.Sqlite.e_sqlite3mc.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo( "Microsoft.Data.Sqlite.sqlite3.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo( diff --git a/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.e_sqlcipher.Tests.csproj b/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.e_sqlcipher.Tests.csproj deleted file mode 100644 index 29447db7f09..00000000000 --- a/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.e_sqlcipher.Tests.csproj +++ /dev/null @@ -1,17 +0,0 @@ - - - - $(DefaultNetCoreTargetFramework);$(NetFrameworkCurrent) - $(DefineConstants);E_SQLCIPHER - enable - - - - - - - - - - - diff --git a/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.e_sqlite3mc.Tests.csproj b/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.e_sqlite3mc.Tests.csproj deleted file mode 100644 index 33eff6e0c39..00000000000 --- a/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.e_sqlite3mc.Tests.csproj +++ /dev/null @@ -1,17 +0,0 @@ - - - - $(DefaultNetCoreTargetFramework);$(NetFrameworkCurrent) - $(DefineConstants);E_SQLITE3MC - enable - - - - - - - - - - - From 9dcb7c614696224735ecdc4461050374b724f4cb Mon Sep 17 00:00:00 2001 From: Eric Sink Date: Mon, 8 Sep 2025 08:10:50 -0500 Subject: [PATCH 4/5] update SQLitePCLRaw dep version to 3.0.2 to get the SourceGear.sqlite3 version to 3.50.4.2 to get the fixes for the targets file in the nuget package --- eng/Versions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/Versions.props b/eng/Versions.props index a5c33138a76..cb03018d635 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -27,6 +27,6 @@ 1.14.0 1.3.2 1.12.0 - 3.0.1 + 3.0.2 From 4059ae6c67f005905ff19ed3beab364b1fec3ccd Mon Sep 17 00:00:00 2001 From: Eric Sink Date: Mon, 8 Sep 2025 19:51:20 -0500 Subject: [PATCH 5/5] when building Microsoft.Data.Sqlite.Tests for .NET Framework, build with RuntimeIdentifier win-x64 to avoid Any CPU problems. --- .../Microsoft.Data.Sqlite.Tests.csproj | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.Tests.csproj b/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.Tests.csproj index 7c19ff01620..00507d8fa7b 100644 --- a/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.Tests.csproj +++ b/test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.Tests.csproj @@ -6,6 +6,10 @@ enable + + win-x64 + +