https://github.com/ESMValGroup/ESMValTool
Raw File
Tip revision: e90cf5ff37a6d70e79f33bbb0d14f0dcc6f71907 authored by Jon Lillis on 06 December 2021, 09:58:01 UTC
Refactor of cube derivations to remove duplicate code
Tip revision: e90cf5f
test_recipes.py
"""Test script to compare the output of ESMValTool against previous runs."""

import shutil
import tempfile

import pytest

from .esmvaltool_testlib import RECIPES, ESMValToolTest


@pytest.fixture
def output_directory():
    """Create a directory for storing ESMValTool output."""
    tmp = tempfile.mkdtemp()
    yield tmp
    shutil.rmtree(tmp, ignore_errors=True)


@pytest.mark.parametrize("recipe", RECIPES)
def test_recipe(output_directory, recipe):  # noqa
    """Create a test for each recipe in RECIPES and run those."""
    test = ESMValToolTest(
        recipe=recipe,
        output_directory=output_directory,
        ignore=['tmp/*/*', '*log*.txt', '*.log'],
        checksum_exclude=['pdf', 'ps', 'png', 'eps', 'epsi', 'nc'])

    test.run(
        graphics=None,
        files='all',
        check_size_gt_zero=True,
        checksum_files='all',
        check_file_content=['nc'])

    assert test.sucess
back to top