From 51ce71c9692bce52269df0843c31bc6b60e20138 Mon Sep 17 00:00:00 2001 From: algorandpa Date: Tue, 14 Feb 2023 17:06:48 -0500 Subject: [PATCH] Add hacky cleanup solution for _testng data --- piker/config.py | 7 +++++-- tests/test_paper.py | 19 +++++++++++++------ 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/piker/config.py b/piker/config.py index ff2f822f..e4c2705f 100644 --- a/piker/config.py +++ b/piker/config.py @@ -33,7 +33,6 @@ from .log import get_logger log = get_logger('broker-config') - # taken from ``click`` since apparently they have some # super weirdness with sigint and sudo..no clue def get_app_dir(app_name, roaming=True, force_posix=False): @@ -73,7 +72,11 @@ def get_app_dir(app_name, roaming=True, force_posix=False): """ def _posixify(name): return "-".join(name.split()).lower() - + + # TODO: This is a hacky way to a) determine we're testing + # and b) creating a test dir. We should aim to set a variable + # within the tractor runtimes and store testing config data + # outside of the users filesystem if "pytest" in sys.modules: app_name += '/_testing' diff --git a/tests/test_paper.py b/tests/test_paper.py index 2cd4817e..38b3dd78 100644 --- a/tests/test_paper.py +++ b/tests/test_paper.py @@ -2,6 +2,9 @@ import trio import pytest import tractor import math +import os +from shutil import rmtree +from piker.config import get_app_dir from piker.log import get_logger from piker.clearing._messages import ( Order @@ -11,30 +14,34 @@ from typing import ( AsyncContextManager, Literal, ) - from functools import partial from piker.pp import ( open_trade_ledger, open_pps, ) - from piker.clearing import ( open_ems, ) - from piker.clearing._client import ( OrderBook, ) - from piker.clearing._messages import ( BrokerdPosition ) - from exceptiongroup import BaseExceptionGroup + log = get_logger(__name__) +@pytest.fixture +def paper_cleanup(): + yield + app_dir = get_app_dir('piker') + rmtree(app_dir) + assert not os.path.isfile(app_dir) + def test_paper_trade( - open_test_pikerd: AsyncContextManager + open_test_pikerd: AsyncContextManager, + paper_cleanup: None ): test_exec_mode='live'