From 80eea915423f2be3efe04e4a57567eecd65ef497 Mon Sep 17 00:00:00 2001 From: foefl Date: Thu, 17 Apr 2025 13:52:32 +0200 Subject: [PATCH] add option for interpreter optimization level --- build_runtime.ps1 | 13 +++++++++++++ dopt.DeltaBarth.Tests/PluginTest.cs | 22 +++++++++++----------- dopt.DeltaBarth/Plugin.cs | 2 +- dopt.DeltaBarth/dopt.DeltaBarth.csproj | 4 ++-- 4 files changed, 27 insertions(+), 14 deletions(-) create mode 100644 build_runtime.ps1 diff --git a/build_runtime.ps1 b/build_runtime.ps1 new file mode 100644 index 0000000..3359699 --- /dev/null +++ b/build_runtime.ps1 @@ -0,0 +1,13 @@ +param( + [switch]$Get = $false +) + +if ($Get) { + pycage get -rt 20250409 3.11.12 + pycage venv upgrade-pip +} + +pycage venv add -i http://localhost:8001/simple/ delta-barth +pycage compile -f -d +pycage compile -o 1 -f +pycage clean dist-info diff --git a/dopt.DeltaBarth.Tests/PluginTest.cs b/dopt.DeltaBarth.Tests/PluginTest.cs index 3ef50fb..f28e047 100644 --- a/dopt.DeltaBarth.Tests/PluginTest.cs +++ b/dopt.DeltaBarth.Tests/PluginTest.cs @@ -132,8 +132,8 @@ namespace dopt.DeltaBarth.Tests string apiUrlSet = "http://10.2.22.21:8080/api/", user = "user", password = "password", database = "DB1", mandant = "mandant1"; test.Startup(baseDataPath, apiUrlSet, user, password, database, mandant); var res = test.UmsatzprognoseDummy(null, null); - Assert.AreEqual((int)StatusCodes.Erfolg, res.status.code); PrettyPrint(res); + Assert.AreEqual((int)StatusCodes.Erfolg, res.status.code); test.Dispose(); } [TestMethod] @@ -144,8 +144,8 @@ namespace dopt.DeltaBarth.Tests test.Startup(baseDataPath, apiUrlSet, user, password, database, mandant); var comp_id = 1000; var res = test.UmsatzprognoseDummy(comp_id, null); - Assert.AreEqual((int)StatusCodes.Erfolg, res.status.code); PrettyPrint(res); + Assert.AreEqual((int)StatusCodes.Erfolg, res.status.code); test.Dispose(); } [TestMethod] @@ -156,8 +156,8 @@ namespace dopt.DeltaBarth.Tests test.Startup(baseDataPath, apiUrlSet, user, password, database, mandant); var date = new DateTime(2023, 1, 1, 12, 45, 30); var res = test.UmsatzprognoseDummy(null, date); - Assert.AreEqual((int)StatusCodes.Erfolg, res.status.code); PrettyPrint(res); + Assert.AreEqual((int)StatusCodes.Erfolg, res.status.code); test.Dispose(); } [TestMethod] @@ -180,9 +180,9 @@ namespace dopt.DeltaBarth.Tests test.Startup(baseDataPath, apiUrlSet, user, password, database, mandant); var comp_id = 1024; var res = test.Umsatzprognose(comp_id, null); - Assert.AreEqual(4, res.status.code); - Assert.AreEqual((int)StatusCodes.DatensatzZuWenigeMonatsdatenpunkte, res.status.code); PrettyPrint(res); + Assert.AreEqual(0, res.status.code); + Assert.AreEqual((int)StatusCodes.Erfolg, res.status.code); test.Dispose(); } [TestMethod] @@ -193,9 +193,9 @@ namespace dopt.DeltaBarth.Tests test.Startup(baseDataPath, apiUrlSet, user, password, database, mandant); var comp_id = 1024; var res = test.Umsatzprognose(comp_id, null); + PrettyPrint(res); Assert.AreEqual(1, res.status.code); Assert.AreEqual((int)StatusCodes.VerbindungTimeout, res.status.code); - PrettyPrint(res); test.Dispose(); } [TestMethod] @@ -207,9 +207,9 @@ namespace dopt.DeltaBarth.Tests test.Startup(baseDataPath, apiUrlSet, user, password, database, mandant); var date = new DateTime(2030, 1, 1, 12, 45, 30); var res = test.Umsatzprognose(null, date); + PrettyPrint(res); Assert.AreEqual(3, res.status.code); Assert.AreEqual((int)StatusCodes.DatensatzZuWenigeDatenpunkte, res.status.code); - PrettyPrint(res); test.Dispose(); } [TestMethod] @@ -220,9 +220,9 @@ namespace dopt.DeltaBarth.Tests test.Startup(baseDataPath, apiUrlSet, user, password, database, mandant); var date = new DateTime(2030, 1, 1, 12, 45, 30); var res = test.Umsatzprognose(null, date); + PrettyPrint(res); Assert.AreEqual(1, res.status.code); Assert.AreEqual((int)StatusCodes.VerbindungTimeout, res.status.code); - PrettyPrint(res); test.Dispose(); } [TestMethod] @@ -234,9 +234,9 @@ namespace dopt.DeltaBarth.Tests test.Startup(baseDataPath, apiUrlSet, user, password, database, mandant); var date = new DateTime(2015, 1, 1, 12, 45, 30); var res = test.Umsatzprognose(null, date); - Assert.AreEqual(4, res.status.code); - Assert.AreEqual((int)StatusCodes.DatensatzZuWenigeMonatsdatenpunkte, res.status.code); PrettyPrint(res); + Assert.AreEqual(0, res.status.code); + Assert.AreEqual((int)StatusCodes.Erfolg, res.status.code); test.Dispose(); } [TestMethod] @@ -247,9 +247,9 @@ namespace dopt.DeltaBarth.Tests test.Startup(baseDataPath, apiUrlSet, user, password, database, mandant); var date = new DateTime(2015, 1, 1, 12, 45, 30); var res = test.Umsatzprognose(null, date); + PrettyPrint(res); Assert.AreEqual(1, res.status.code); Assert.AreEqual((int)StatusCodes.VerbindungTimeout, res.status.code); - PrettyPrint(res); test.Dispose(); } } diff --git a/dopt.DeltaBarth/Plugin.cs b/dopt.DeltaBarth/Plugin.cs index 2ff618a..e1e8bf5 100644 --- a/dopt.DeltaBarth/Plugin.cs +++ b/dopt.DeltaBarth/Plugin.cs @@ -93,7 +93,7 @@ namespace dopt.DeltaBarth /// /// Der Pfad zur Python-Runtime. Dieser muss zu dem Ordner zeigen, /// in welchem die Runtime in Form eines Ordners mit dem Namen "python" abliegt. - public Plugin(string runtimePath) : base(runtimePath: runtimePath, verbose: false) + public Plugin(string runtimePath) : base(SharpPython.PyOptimLevels.O, runtimePath: runtimePath, verbose: false) { base.Initialise(); using (Py.GIL()) diff --git a/dopt.DeltaBarth/dopt.DeltaBarth.csproj b/dopt.DeltaBarth/dopt.DeltaBarth.csproj index 90063bd..48a4e36 100644 --- a/dopt.DeltaBarth/dopt.DeltaBarth.csproj +++ b/dopt.DeltaBarth/dopt.DeltaBarth.csproj @@ -6,12 +6,12 @@ enable x64 x64 - 0.3.3-dev1 + 0.3.3 True - +