Skip to content

Commit

Permalink
Merge pull request #2 from SSummits/revert-1-main
Browse files Browse the repository at this point in the history
Revert "Staying up to date"
  • Loading branch information
SSummits authored Mar 20, 2024
2 parents 82df062 + c508fc1 commit 2630f72
Show file tree
Hide file tree
Showing 6 changed files with 44 additions and 49 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ jobs:
echo PYTEST_ADDOPTS="$PYTEST_ADDOPTS --cov --cov-report=xml" >> "$GITHUB_ENV"
- name: Run pytest (not integration)
run: |
pytest --pyargs idaes -m "not integration"
pytest -m "not integration"
- name: Upload coverage report as GHA workflow artifact
if: matrix.cov-report
uses: actions/upload-artifact@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ jobs:
with:
install-target: -r requirements-dev.txt
- name: Run pytest (integration)
run: pytest --pyargs idaes -m integration
run: pytest -m integration

examples:
name: Run examples (py${{ matrix.python-version }}/${{ matrix.os }})
Expand Down
65 changes: 24 additions & 41 deletions idaes/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,47 +41,6 @@
####


def pytest_addoption(parser):
parser.addoption(
"--performance",
action="store_true",
dest="performance",
default=False,
help="enable performance decorated tests",
)


MARKERS = {
"build": "test of model build methods",
"cubic_root": "test requires the compiled cubic root finder",
"iapws": "test requires the compiled IAPWS95 property package",
"initialization": "test of initialization methods. These generally require a solver as well",
"solver": "test requires a solver",
"ui": "tests of an aspect of the ui",
"unit": "quick tests that do not require a solver, must run in <2s",
"component": "quick tests that may require a solver",
"integration": "long duration tests",
"performance": "tests for the IDAES performance testing suite",
}


def pytest_configure(config: pytest.Config):
for name, description in MARKERS.items():
config.addinivalue_line("markers", f"{name}: {description}")

if not config.option.performance:
if len(config.option.markexpr) > 0:
setattr(
config.option,
"markexpr",
f"{config.option.markexpr} and not performance",
)
else:
setattr(config.option, "markexpr", "not performance")
else:
setattr(config.option, "markexpr", "performance")


REQUIRED_MARKERS = {"unit", "component", "integration", "performance"}
ALL_PLATFORMS = {"darwin", "linux", "win32"}

Expand Down Expand Up @@ -156,6 +115,30 @@ def _validate_required_markers(item, required_markers=None, expected_count=1):
pytest.fail(msg)


def pytest_addoption(parser):
parser.addoption(
"--performance",
action="store_true",
dest="performance",
default=False,
help="enable performance decorated tests",
)


def pytest_configure(config):
if not config.option.performance:
if len(config.option.markexpr) > 0:
setattr(
config.option,
"markexpr",
f"{config.option.markexpr} and not performance",
)
else:
setattr(config.option, "markexpr", "not performance")
else:
setattr(config.option, "markexpr", "performance")


ModuleName = str


Expand Down
4 changes: 2 additions & 2 deletions idaes/core/util/scaling.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
from pyomo.dae.flatten import slice_component_along_sets
from pyomo.util.calc_var_value import calculate_variable_from_constraint
from pyomo.core import expr as EXPR
from pyomo.common.numeric_types import native_types
from pyomo.core.expr.numvalue import native_types, pyomo_constant_types
from pyomo.core.base.units_container import _PyomoUnit

import idaes.logger as idaeslog
Expand Down Expand Up @@ -1509,7 +1509,7 @@ def exitNode(self, node, data):
# first check if the node is a leaf
nodetype = type(node)

if nodetype in native_types:
if nodetype in native_types or nodetype in pyomo_constant_types:
return [node]

node_func = self.node_type_method_map.get(nodetype, None)
Expand Down
18 changes: 15 additions & 3 deletions pytest.ini
Original file line number Diff line number Diff line change
@@ -1,7 +1,19 @@
[pytest]
addopts = --durations=100
--durations-min=2
addopts = --pyargs idaes
--durations=100
-W ignore
log_file = pytest.log
log_file_date_format = %Y-%m-%dT%H:%M:%S
log_file_format = %(asctime)s %(levelname)-7s <%(filename)s:%(lineno)d> %(message)s
log_file_level = INFO
log_file_level = INFO
markers =
build: test of model build methods
cubic_root : test requires the compiled cubic root finder
iapws: test requires the compiled IAPWS95 property package
initialization: test of initialization methods. These generally require a solver as well
solver: test requires a solver
ui: tests of an aspect of the ui
unit: quick tests that do not require a solver, must run in <2s
component: quick tests that may require a solver
integration: long duration tests
performance: tests for the IDAES performance testing suite
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ class ExtraDependencies:
]
omlt = [
"omlt==1.1", # fix the version for now as package evolves
'tensorflow < 2.16.1 ; python_version < "3.12"',
'tensorflow; python_version < "3.12"',
]
grid = [
"gridx-prescient>=2.2.1", # idaes.tests.prescient
Expand Down

0 comments on commit 2630f72

Please sign in to comment.