Skip to main content

test framework for OpenFOAM

Project description

test framework for OpenFOAM

  • Free software: GPLv3 License

Installation

pip install oftest

You can also install the in-development version with:

pip install https://github.com/HenningScheufler/oftest/archive/master.zip

Documentation

https://oftest.readthedocs.io/

Development

To run all the tests run and build the doc:

tox

QuickStart

add conftest.py and pytest.ini to your project

cat pytest.ini:

[pytest]
#minversion = 6.0
addopts = -ra -v --import-mode=importlib --tb=no --cache-clear
testpaths =
    tests

cat conftest.py:

import pytest

def pytest_addoption(parser):
    parser.addoption(
        "--writeNSteps", action="store", default=0, help="only perform specified number of timestep"
    )
    parser.addoption(
        "--no-clean-up", action='store_false',default=True ,help="do not clean case after run"
    )

we assume that all OpenFOAM test are located in the tests folder and that each test can be started with a Allrun or Allclean script. By adding a test_*.py to each OpenFOAM test, py.test automatically discovers all tests in the folder and they can be run with:

py.test

with the command line option the test only run one time step

py.test --writeNSteps 1

Extensions

Running py.test with multple threads:

pip install pytest-xdist

the output can be pretified with the extension:

pip install pytest-sugar

Changelog

0.2.1 (2021-1-25)

added: - path_logs get all log.* in folder

0.2.0 (2021-1-20)

added: - log files are copied in logs folder

0.1.2 (2021-12-22)

added: - success to run_case, run_reset_case, clean_case - copy_log_files

::

accessible with run_reset_case.success

add copy_log_files() copy files to os.path.join(“logs”,current_test()) use case if (not run_reset_case.success) oftest.copy_log_files()

0.1.1 (2021-12-22)

added exit code to run_case, run_reset_case, clean_case accessible with: c_mod.meta_data[‘return_value’]

0.1.0 (2021-05-7)

added expected_results: loads a results in csv format and return the results in a pandas DataFrame:

test = oftest.expected_results([1,2],(‘isoAlpha’,32)) test[‘err_shape’]

0.0.5 (2021-05-7)

update documentation and added docstrings

0.0.4 (2021-04-24)

  • added fixture for running cleaning and modify

break compatiblity due to run_case does not clean the case anymore please substitute with run_reset_case

TL;DR

run_case -> run_reset_case

0.0.3 (2021-04-23)

  • changed License to GPL -> pyfoam is GPLv2

0.0.0 (2021-04-17)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oftest-0.2.1.tar.gz (61.2 kB view hashes)

Uploaded Source

Built Distribution

oftest-0.2.1-py2.py3-none-any.whl (19.8 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page