Files
pydantic/tests/conftest.py
T
Samuel Colvin 25b5d98030 support postponed annotations and ForwardRef in python 3.7 (#348)
* support postponed annotations in python 3.7

* support for full ForwardRef

* tweak update_forward_refs

* better ForwardRef resolution

* remove debug, fix linting

* fix comments

* docs and history
2019-01-11 21:01:07 +00:00

39 lines
695 B
Python

import os
import secrets
from importlib.machinery import SourceFileLoader
import pytest
class SetEnv:
def __init__(self):
self.envars = set()
def set(self, name, value):
self.envars.add(name)
os.environ[name] = value
def clear(self):
for n in self.envars:
os.environ.pop(n)
@pytest.yield_fixture
def env():
setenv = SetEnv()
yield setenv
setenv.clear()
@pytest.fixture
def create_module(tmp_path):
def run(code):
name = f'test_code_{secrets.token_hex(5)}'
path = tmp_path / f'{name}.py'
path.write_text(code)
return SourceFileLoader(name, str(path)).load_module()
return run