Execute o teste py.test em processos diferentes
Estou tentando testar o programa tensorflow. Estou configurando a sessão tensorflow usando o dispositivo py.test parametrizado:
@pytest.fixture(scope="session", params=configuration)
def session(request):
if request.param == 'tensorflow':
return tf.Session()
elif request.param == 'tensorflow-eager':
tfe.enable_eager_execution()
return tf.Session()
elif ...
O fluxo tensor tem estado global; portanto, vários lançamentos de teste podem poluí-lo. Por exemplo, não há como desativar a execução antecipada depois que ela foi ativada. Existe uma maneira de instruir o py.test para criar um novo processo para cada teste? Ou outra maneira de configurar o ambiente para o teste, além de usar equipamento parametrizado? Exemplo de uso:
@pytest.mark.parametrize("bias_type", ['variable', 'ndarray', 'list', 'tuple'])
@pytest.mark.parametrize("kernel_type", ['variable', 'ndarray', 'list', 'tuple'])
@pytest.mark.parametrize("input_type", ['variable', 'ndarray', 'list', 'tuple'])
def test_convolution(session, input_type, kernel_type, bias_type):
...