Newer
Older
from pathlib import Path
import pytest
from git import Repo
from .utils import TEST_MODULE_NAME
@pytest.fixture
def wrapper(tmpdir, request):
"""
Sets up a wrapper with the minimal necessary configuration in order to build a module
Note that a number of necessary variables are expected to be present in the environment
"""
wrapper_dir = Path(tmpdir / "wrapper")
test_dir = wrapper_dir / TEST_MODULE_NAME
test_dir.mkdir(parents=True)
TOP:=$(CURDIR)
include $(REQUIRE_CONFIG)/CONFIG
include $(REQUIRE_CONFIG)/RULES_SITEMODS
"""
where_am_I := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
include $(E3_REQUIRE_TOOLS)/driver.makefile
TEMPLATES += {templates}
SOURCES += {sources}
DBDS += {dbds}
HEADERS += {headers}
"""
# TODO: This should not be necessary, but it is for patching.
Repo.init(wrapper_dir)
with open(wrapper_dir / "Makefile", "w") as f:
make_vars = {"templates": "", "sources": "", "dbds": "", "headers": ""}
make_vars.update(**request.param)