From b4286cf36d4e6b9508bd68183fa7f4baa1599c8a Mon Sep 17 00:00:00 2001
From: Michael Wetter <mwetter@lbl.gov>
Date: Wed, 20 Dec 2023 07:34:38 -0800
Subject: [PATCH] Update OpenModelica image on master (#3603)

* Updated OpenModelica image to 1.22.0
---
 .travis.yml                                   |   2 +-
 .../Resources/Scripts/BuildingsPy/conf.yml    | 100 ++++++++++--------
 Buildings/Resources/Scripts/travis/omc/omc    |   2 +-
 bin/runUnitTests.py                           |  12 ++-
 4 files changed, 65 insertions(+), 51 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index dd4cbc9a18b..47488115a8d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -32,7 +32,7 @@ env:
   global:
     - DOCKER_REPONAME=lbnlblum
     - BUILDINGSPY_VERSION=BuildingsPy@v5.0.0
-    - OMC_VERSION=ubuntu-2204-omc:1.22.0_dev-41-g8a5b18f-1
+    - OMC_VERSION=ubuntu-2204-omc:1.22.0-1
     - OPTIMICA_VERSION=travis-ubuntu-2204-optimica:1.43.4
     - DYMOLA_VERSION=travis_ubuntu-2004_dymola:2023x-x86_64_rev-1
     - ENERGYPLUS_9_6_0=EnergyPlus-9.6.0-f420c06a69-Linux-Ubuntu20.04-x86_64
diff --git a/Buildings/Resources/Scripts/BuildingsPy/conf.yml b/Buildings/Resources/Scripts/BuildingsPy/conf.yml
index ec05fd48020..5ff4b480267 100644
--- a/Buildings/Resources/Scripts/BuildingsPy/conf.yml
+++ b/Buildings/Resources/Scripts/BuildingsPy/conf.yml
@@ -36,36 +36,36 @@
     simulate: false
 - model_name: Buildings.Electrical.AC.ThreePhasesUnbalanced.Validation.IEEETests.Test4NodesFeeder.BalancedStepDown.DD
   openmodelica:
-    comment: Internal error IndexReduction.pantelidesIndexReduction failed
-    translate: false
+    comment: simulation terminated by an assertion at initialization.
+    simulate: false
 - model_name: Buildings.Electrical.AC.ThreePhasesUnbalanced.Validation.IEEETests.Test4NodesFeeder.BalancedStepDown.YD
   openmodelica:
-    comment: returned non-zero exit status 10.
-    translate: false
+    comment: simulation terminated by an assertion at initialization.
+    simulate: false
 - model_name: Buildings.Electrical.AC.ThreePhasesUnbalanced.Validation.IEEETests.Test4NodesFeeder.BalancedStepUp.DD
   openmodelica:
-    comment: returned non-zero exit status 10.
-    translate: false
+    comment: simulation terminated by an assertion at initialization.
+    simulate: false
 - model_name: Buildings.Electrical.AC.ThreePhasesUnbalanced.Validation.IEEETests.Test4NodesFeeder.BalancedStepUp.YD
   openmodelica:
-    comment: returned non-zero exit status 10.
-    translate: false
+    comment: simulation terminated by an assertion at initialization.
+    simulate: false
 - model_name: Buildings.Electrical.AC.ThreePhasesUnbalanced.Validation.IEEETests.Test4NodesFeeder.UnbalancedStepDown.DD
   openmodelica:
-    comment: returned non-zero exit status 10.
-    translate: false
+    comment: simulation terminated by an assertion at initialization.
+    simulate: false
 - model_name: Buildings.Electrical.AC.ThreePhasesUnbalanced.Validation.IEEETests.Test4NodesFeeder.UnbalancedStepDown.YD
   openmodelica:
-    comment: returned non-zero exit status 10.
-    translate: false
+    comment: simulation terminated by an assertion at initialization.
+    simulate: false
 - model_name: Buildings.Electrical.AC.ThreePhasesUnbalanced.Validation.IEEETests.Test4NodesFeeder.UnbalancedStepUp.DD
   openmodelica:
-    comment: returned non-zero exit status 10.
-    translate: false
+    comment: simulation terminated by an assertion at initialization.
+    simulate: false
 - model_name: Buildings.Electrical.AC.ThreePhasesUnbalanced.Validation.IEEETests.Test4NodesFeeder.UnbalancedStepUp.YD
   openmodelica:
-    comment: returned non-zero exit status 10.
-    translate: false
+    comment: simulation terminated by an assertion at initialization.
+    simulate: false
 - model_name: Buildings.Electrical.DC.Loads.Examples.LinearizedLoad
   openmodelica:
     comment: '''omc'' caused ''simulation terminated by an assertion at initialization''.'
@@ -79,8 +79,8 @@
     simulate: false
 - model_name: Buildings.Examples.VAVCO2.VAVSystemCTControl
   openmodelica:
-    comment: Times out after 300 seconds.
-    time_out: 600
+    comment: Times out after 900 seconds.
+    time_out: 900
   optimica:
     comment: Fails with 'The rootfinding function failed in an unrecoverable manner.' Since oct-r26446
     simulate: false
@@ -95,7 +95,11 @@
     time_out: 600
 - model_name: Buildings.Experimental.DHC.EnergyTransferStations.Combined.Validation.ChillerBorefield
   openmodelica:
-    comment: returned non-zero exit status 139.
+    comment: Timeout on travis after 900 seconds, https://app.travis-ci.com/github/lbl-srg/modelica-buildings/jobs/615261271
+    simulate: false
+- model_name: Buildings.Experimental.DHC.EnergyTransferStations.Cooling.Examples.Indirect
+  openmodelica:
+    comment: simulation terminated by an assertion at initialization.
     simulate: false
 - model_name: Buildings.Experimental.DHC.Examples.Combined.SeriesConstantFlow
   openmodelica:
@@ -126,7 +130,7 @@
     simulate: false
 - model_name: Buildings.Experimental.DHC.Loads.Combined.Examples.BuildingTimeSeriesWithETS
   openmodelica:
-    comment: simulates ok with OMEdit 1.22.0~dev-51-ge506fbc
+    comment: simulation terminated by an assertion at initialization
     simulate: false
 - model_name: Buildings.Experimental.DHC.Loads.Cooling.Examples.BuildingTimeSeriesWithETS
   openmodelica:
@@ -206,15 +210,15 @@
     simulate: false
 - model_name: Buildings.Fluid.Geothermal.BuriedPipes.Examples.TwoBuriedPipes
   openmodelica:
-    comment: returned non-zero exit status 255.
+    comment: simulation returned non-zero exit status 255
     simulate: false
-- model_name: Buildings.Fluid.Geothermal.BuriedPipes.Validation.GroundCouplingAIT
+- model_name: Buildings.Fluid.Geothermal.BuriedPipes.Examples.TwoPipesConduit
   openmodelica:
-    comment: Timed out after 300 seconds, https://app.travis-ci.com/github/lbl-srg/modelica-buildings/jobs/559381269#L479
+    comment: 'CalledProcessError: Command ''[''omc'', ''Buildings.Fluid.Geothermal.BuriedPipes.Examples.TwoPipesConduit_simulate.mos'']'' returned non-zero exit status 255.'
     simulate: false
-- model_name: Buildings.Fluid.HeatExchangers.Validation.WetCoilEffectivenessNTUHeating
+- model_name: Buildings.Fluid.Geothermal.BuriedPipes.Validation.GroundCouplingAIT
   openmodelica:
-    comment: '''omc'' caused ''simulation terminated by an assertion at initialization''.'
+    comment: Timed out after 300 seconds, https://app.travis-ci.com/github/lbl-srg/modelica-buildings/jobs/559381269#L479
     simulate: false
 - model_name: Buildings.Fluid.HydronicConfigurations.ActiveNetworks.Examples.DecouplingMixing
   openmodelica:
@@ -318,14 +322,14 @@
     translate: false
 - model_name: Buildings.Templates.AirHandlersFans.Validation.VAVMZControlG36Airflow
   optimica:
-    comment: 'Array size mismatch in modification of the attribute quantity for the variable TZon. This is a bug in OCT tracked under Modelon#2023022839000276.'
+    comment: Array size mismatch in modification of the attribute quantity for the variable TZon. This is a bug in OCT tracked under Modelon#2023022839000276.
     translate: false
   openmodelica:
     comment: Translation failed.
     translate: false
 - model_name: Buildings.Templates.AirHandlersFans.Validation.VAVMZControlG36Pressure
   optimica:
-    comment: 'Array size mismatch in modification of the attribute quantity for the variable TZon. This is a bug in OCT tracked under Modelon#2023022839000276.'
+    comment: Array size mismatch in modification of the attribute quantity for the variable TZon. This is a bug in OCT tracked under Modelon#2023022839000276.
     translate: false
   openmodelica:
     comment: Translation failed.
@@ -405,24 +409,28 @@
     time_out: 600
 - model_name: Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases6xx.Case620
   openmodelica:
-    comment: Timeout on travis, https://app.travis-ci.com/github/lbl-srg/modelica-buildings/jobs/583642309#L376
-    simulate: false
+    comment: Timeout on travis
+    time_out: 600
 - model_name: Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases6xx.Case630
   openmodelica:
-    comment: Timeout on travis, https://app.travis-ci.com/github/lbl-srg/modelica-buildings/jobs/571321984#L379
-    simulate: false
+    comment: Timeout on travis
+    time_out: 600
 - model_name: Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case920
   openmodelica:
     comment: Timeout on travis
     time_out: 600
 - model_name: Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case930
   openmodelica:
-    comment: Timeout on travis, https://app.travis-ci.com/github/lbl-srg/modelica-buildings/jobs/571321984#L379
-    simulate: false
+    comment: Timeout on travis
+    time_out: 600
 - model_name: Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case980
   openmodelica:
-    comment: Timeout on travis, https://app.travis-ci.com/github/lbl-srg/modelica-buildings/jobs/604300629#L376
-    simulate: false
+    comment: Timeout on travis, https://app.travis-ci.com/github/lbl-srg/modelica-buildings/jobs/615261256
+    time_out: 600
+- model_name: Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case995
+  openmodelica:
+    comment: Timeout on travis, https://app.travis-ci.com/github/lbl-srg/modelica-buildings/jobs/615261256
+    time_out: 600
 - model_name: Buildings.ThermalZones.EnergyPlus_9_6_0.BaseClasses.Validation.FMUZoneAdapterZones1
   dymola:
     comment: Requires docker update to Ubuntu 22.04 due to libgc.
@@ -444,22 +452,26 @@
   openmodelica:
     comment: 'Simulation requires /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34. To be updated in docker image.'
     simulate: false
+- model_name: Buildings.ThermalZones.EnergyPlus_9_6_0.Examples.SmallOffice.ASHRAE2006Spring
+  openmodelica:
+    comment: timed out after 300 seconds
+    time_out: 600
 - model_name: Buildings.ThermalZones.EnergyPlus_9_6_0.Examples.SmallOffice.ASHRAE2006Summer
   openmodelica:
     comment: timed out after 300 seconds
-    simulate: false
+    time_out: 600
 - model_name: Buildings.ThermalZones.EnergyPlus_9_6_0.Examples.SmallOffice.Guideline36Spring
   openmodelica:
     comment: timed out after 300 seconds
-    simulate: false
+    time_out: 600
 - model_name: Buildings.ThermalZones.EnergyPlus_9_6_0.Examples.SmallOffice.Guideline36Summer
   openmodelica:
     comment: timed out after 300 seconds
-    simulate: false
+    time_out: 600
 - model_name: Buildings.ThermalZones.EnergyPlus_9_6_0.Examples.SmallOffice.Guideline36Winter
   openmodelica:
-    comment: timed out after 300 seconds
-    simulate: false
+    comment: Timeout on travis
+    time_out: 600
 - model_name: Buildings.ThermalZones.EnergyPlus_9_6_0.Examples.SmallOffice.IdealHeatingCoolingSpring
   openmodelica:
     comment: returned non-zero exit status 255.
@@ -487,29 +499,29 @@
     simulate: false
 - model_name: Buildings.Utilities.IO.Python_3_8.Examples.KalmanFilter
   openmodelica:
-    comment: Ubuntu 22.04 uses Python 3.10, while the examples use Python 3.8
     translate: false
+    comment: python incompatible with docker image
   optimica:
     comment: Optimica uses Python 3.9, while the examples use Python 3.8
     translate: false
 - model_name: Buildings.Utilities.IO.Python_3_8.Examples.SimpleRoom
   openmodelica:
-    comment: Ubuntu 22.04 uses Python 3.10, while the examples use Python 3.8
     translate: false
+    comment: python incompatible with docker image
   optimica:
     comment: Optimica uses Python 3.9, while the examples use Python 3.8
     translate: false
 - model_name: Buildings.Utilities.IO.Python_3_8.Functions.Examples.Exchange
   openmodelica:
-    comment: Ubuntu 22.04 uses Python 3.10, while the examples use Python 3.8
     translate: false
+    comment: python incompatible with docker image
   optimica:
     comment: Optimica uses Python 3.9, while the examples use Python 3.8
     translate: false
 - model_name: Buildings.Utilities.IO.Python_3_8.Functions.Examples.ExchangeWithPassPythonObject
   openmodelica:
-    comment: Ubuntu 22.04 uses Python 3.10, while the examples use Python 3.8
     translate: false
+    comment: python incompatible with docker image
   optimica:
     comment: Optimica uses Python 3.9, while the examples use Python 3.8
     translate: false
diff --git a/Buildings/Resources/Scripts/travis/omc/omc b/Buildings/Resources/Scripts/travis/omc/omc
index 6f831fbdeaf..15f716a9c60 100755
--- a/Buildings/Resources/Scripts/travis/omc/omc
+++ b/Buildings/Resources/Scripts/travis/omc/omc
@@ -100,7 +100,7 @@ docker run \
   -v ${sha_dir}:/mnt/shared \
   --rm \
   --workdir="/mnt/shared/${bas_nam}" \
-  ${DOCKER_USERNAME}/${IMG_NAME} /bin/bash -c \
+  ${DOCKER_REPONAME}/${IMG_NAME} /bin/bash -c \
   "export MODELICAPATH=${DOCKER_MODELICAPATH} && \
   omc ${arg_lis} && \
   rm -rf spawn-* && \
diff --git a/bin/runUnitTests.py b/bin/runUnitTests.py
index 185729f51d9..83b5217f04f 100755
--- a/bin/runUnitTests.py
+++ b/bin/runUnitTests.py
@@ -71,9 +71,11 @@ def _setEnvironmentVariables(var, value):
         os.environ[var] = value
 
 
+#def _runUnitTests(batch, tool, package, path, n_pro, show_gui, skip_verification, debug, color, rewriteConfigurationFile):
 def _runUnitTests(batch, tool, package, path, n_pro, show_gui, skip_verification, debug, color):
     import buildingspy.development.regressiontest as u
 
+#    ut = u.Tester(tool=tool, skip_verification=skip_verification, color=color, rewriteConfigurationFile=rewriteConfigurationFile)
     ut = u.Tester(tool=tool, skip_verification=skip_verification, color=color)
     ut.batchMode(batch)
     ut.setLibraryRoot(path)
@@ -88,10 +90,8 @@ def _runUnitTests(batch, tool, package, path, n_pro, show_gui, skip_verification
     # Below are some option that may occassionally be used.
     # These are currently not exposed as command line arguments.
 #    ut.useExistingResults(['/tmp/tmp-Buildings-0-fagmeZ'])
-
     ut.writeOpenModelicaResultDictionary()
     # Run the regression tests
-
     retVal = ut.run()
 
     # Display HTML report if not run in batch mode.
@@ -144,7 +144,9 @@ def _runUnitTests(batch, tool, package, path, n_pro, show_gui, skip_verification
     unit_test_group.add_argument('-d', "--debug",
                                  action="store_true",
                                  help="Enable debug output.")
-
+#    unit_test_group.add_argument("--rewrite-configuration-file",
+#                                 help='If specified, rewrite the configuration file conf.yml (implemented for openmodelica only)',
+#                                 action="store_true")
 
     html_group = parser.add_argument_group(
         "arguments to check html syntax only")
@@ -202,6 +204,6 @@ def _runUnitTests(batch, tool, package, path, n_pro, show_gui, skip_verification
                            show_gui=args.show_gui,
                            skip_verification=args.skip_verification,
                            debug=args.debug,
-                           color=True
-                           )
+                           color=True)
+#                           rewriteConfigurationFile=args.rewrite_configuration_file)
     exit(retVal)