https://github.com/ESMValGroup/ESMValTool
Raw File
Tip revision: 60c2316e25b0e77ebee9dfd55236a64d9c5efb21 authored by remi-kazeroni on 29 March 2022, 10:37:21 UTC
cmorizer adjusted to the new interface
Tip revision: 60c2316
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