https://github.com/ESMValGroup/ESMValTool
Raw File
Tip revision: 0d96b1a8ace2c5e036d8af2ce4052c967bdec768 authored by Gulcin G on 17 December 2023, 12:00:39 UTC
o3
Tip revision: 0d96b1a
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