mirror of
https://github.com/freqtrade/freqtrade.git
synced 2026-01-20 05:50:36 +00:00
Remove further usages of Path(tmpdir)
This commit is contained in:
@@ -550,7 +550,7 @@ def test_start_install_ui(mocker):
|
|||||||
assert download_mock.call_count == 0
|
assert download_mock.call_count == 0
|
||||||
|
|
||||||
|
|
||||||
def test_clean_ui_subdir(mocker, tmpdir, caplog):
|
def test_clean_ui_subdir(mocker, tmp_path, caplog):
|
||||||
mocker.patch("freqtrade.commands.deploy_commands.Path.is_dir",
|
mocker.patch("freqtrade.commands.deploy_commands.Path.is_dir",
|
||||||
side_effect=[True, True])
|
side_effect=[True, True])
|
||||||
mocker.patch("freqtrade.commands.deploy_commands.Path.is_file",
|
mocker.patch("freqtrade.commands.deploy_commands.Path.is_file",
|
||||||
@@ -560,14 +560,14 @@ def test_clean_ui_subdir(mocker, tmpdir, caplog):
|
|||||||
|
|
||||||
mocker.patch("freqtrade.commands.deploy_commands.Path.glob",
|
mocker.patch("freqtrade.commands.deploy_commands.Path.glob",
|
||||||
return_value=[Path('test1'), Path('test2'), Path('.gitkeep')])
|
return_value=[Path('test1'), Path('test2'), Path('.gitkeep')])
|
||||||
folder = Path(tmpdir) / "uitests"
|
folder = tmp_path / "uitests"
|
||||||
clean_ui_subdir(folder)
|
clean_ui_subdir(folder)
|
||||||
assert log_has("Removing UI directory content.", caplog)
|
assert log_has("Removing UI directory content.", caplog)
|
||||||
assert rd_mock.call_count == 1
|
assert rd_mock.call_count == 1
|
||||||
assert ul_mock.call_count == 1
|
assert ul_mock.call_count == 1
|
||||||
|
|
||||||
|
|
||||||
def test_download_and_install_ui(mocker, tmpdir):
|
def test_download_and_install_ui(mocker, tmp_path):
|
||||||
# Create zipfile
|
# Create zipfile
|
||||||
requests_mock = MagicMock()
|
requests_mock = MagicMock()
|
||||||
file_like_object = BytesIO()
|
file_like_object = BytesIO()
|
||||||
@@ -583,7 +583,7 @@ def test_download_and_install_ui(mocker, tmpdir):
|
|||||||
side_effect=[True, False])
|
side_effect=[True, False])
|
||||||
wb_mock = mocker.patch("freqtrade.commands.deploy_commands.Path.write_bytes")
|
wb_mock = mocker.patch("freqtrade.commands.deploy_commands.Path.write_bytes")
|
||||||
|
|
||||||
folder = Path(tmpdir) / "uitests_dl"
|
folder = tmp_path / "uitests_dl"
|
||||||
folder.mkdir(exist_ok=True)
|
folder.mkdir(exist_ok=True)
|
||||||
|
|
||||||
assert read_ui_version(folder) is None
|
assert read_ui_version(folder) is None
|
||||||
@@ -1010,8 +1010,8 @@ def test_start_test_pairlist(mocker, caplog, tickers, default_conf, capsys):
|
|||||||
pytest.fail(f'Expected well formed JSON, but failed to parse: {captured.out}')
|
pytest.fail(f'Expected well formed JSON, but failed to parse: {captured.out}')
|
||||||
|
|
||||||
|
|
||||||
def test_hyperopt_list(mocker, capsys, caplog, saved_hyperopt_results, tmpdir):
|
def test_hyperopt_list(mocker, capsys, caplog, saved_hyperopt_results, tmp_path):
|
||||||
csv_file = Path(tmpdir) / "test.csv"
|
csv_file = tmp_path / "test.csv"
|
||||||
mocker.patch(
|
mocker.patch(
|
||||||
'freqtrade.optimize.hyperopt_tools.HyperoptTools._test_hyperopt_results_exist',
|
'freqtrade.optimize.hyperopt_tools.HyperoptTools._test_hyperopt_results_exist',
|
||||||
return_value=True
|
return_value=True
|
||||||
|
|||||||
@@ -193,8 +193,8 @@ def test_start_no_hyperopt_allowed(mocker, hyperopt_conf, caplog) -> None:
|
|||||||
start_hyperopt(pargs)
|
start_hyperopt(pargs)
|
||||||
|
|
||||||
|
|
||||||
def test_start_no_data(mocker, hyperopt_conf, tmpdir) -> None:
|
def test_start_no_data(mocker, hyperopt_conf, tmp_path) -> None:
|
||||||
hyperopt_conf['user_data_dir'] = Path(tmpdir)
|
hyperopt_conf['user_data_dir'] = tmp_path
|
||||||
patched_configuration_load_config_file(mocker, hyperopt_conf)
|
patched_configuration_load_config_file(mocker, hyperopt_conf)
|
||||||
mocker.patch('freqtrade.data.history.load_pair_history', MagicMock(return_value=pd.DataFrame))
|
mocker.patch('freqtrade.data.history.load_pair_history', MagicMock(return_value=pd.DataFrame))
|
||||||
mocker.patch(
|
mocker.patch(
|
||||||
@@ -857,14 +857,14 @@ def test_simplified_interface_failed(mocker, hyperopt_conf, space) -> None:
|
|||||||
hyperopt.start()
|
hyperopt.start()
|
||||||
|
|
||||||
|
|
||||||
def test_in_strategy_auto_hyperopt(mocker, hyperopt_conf, tmpdir, fee) -> None:
|
def test_in_strategy_auto_hyperopt(mocker, hyperopt_conf, tmp_path, fee) -> None:
|
||||||
patch_exchange(mocker)
|
patch_exchange(mocker)
|
||||||
mocker.patch(f'{EXMS}.get_fee', fee)
|
mocker.patch(f'{EXMS}.get_fee', fee)
|
||||||
(Path(tmpdir) / 'hyperopt_results').mkdir(parents=True)
|
(tmp_path / 'hyperopt_results').mkdir(parents=True)
|
||||||
# No hyperopt needed
|
# No hyperopt needed
|
||||||
hyperopt_conf.update({
|
hyperopt_conf.update({
|
||||||
'strategy': 'HyperoptableStrategy',
|
'strategy': 'HyperoptableStrategy',
|
||||||
'user_data_dir': Path(tmpdir),
|
'user_data_dir': tmp_path,
|
||||||
'hyperopt_random_state': 42,
|
'hyperopt_random_state': 42,
|
||||||
'spaces': ['all'],
|
'spaces': ['all'],
|
||||||
})
|
})
|
||||||
@@ -897,17 +897,17 @@ def test_in_strategy_auto_hyperopt(mocker, hyperopt_conf, tmpdir, fee) -> None:
|
|||||||
hyperopt.get_optimizer([], 2)
|
hyperopt.get_optimizer([], 2)
|
||||||
|
|
||||||
|
|
||||||
def test_in_strategy_auto_hyperopt_with_parallel(mocker, hyperopt_conf, tmpdir, fee) -> None:
|
def test_in_strategy_auto_hyperopt_with_parallel(mocker, hyperopt_conf, tmp_path, fee) -> None:
|
||||||
mocker.patch(f'{EXMS}.validate_config', MagicMock())
|
mocker.patch(f'{EXMS}.validate_config', MagicMock())
|
||||||
mocker.patch(f'{EXMS}.get_fee', fee)
|
mocker.patch(f'{EXMS}.get_fee', fee)
|
||||||
mocker.patch(f'{EXMS}._load_markets')
|
mocker.patch(f'{EXMS}._load_markets')
|
||||||
mocker.patch(f'{EXMS}.markets',
|
mocker.patch(f'{EXMS}.markets',
|
||||||
PropertyMock(return_value=get_markets()))
|
PropertyMock(return_value=get_markets()))
|
||||||
(Path(tmpdir) / 'hyperopt_results').mkdir(parents=True)
|
(tmp_path / 'hyperopt_results').mkdir(parents=True)
|
||||||
# No hyperopt needed
|
# No hyperopt needed
|
||||||
hyperopt_conf.update({
|
hyperopt_conf.update({
|
||||||
'strategy': 'HyperoptableStrategy',
|
'strategy': 'HyperoptableStrategy',
|
||||||
'user_data_dir': Path(tmpdir),
|
'user_data_dir': tmp_path,
|
||||||
'hyperopt_random_state': 42,
|
'hyperopt_random_state': 42,
|
||||||
'spaces': ['all'],
|
'spaces': ['all'],
|
||||||
# Enforce parallelity
|
# Enforce parallelity
|
||||||
@@ -938,14 +938,14 @@ def test_in_strategy_auto_hyperopt_with_parallel(mocker, hyperopt_conf, tmpdir,
|
|||||||
hyperopt.start()
|
hyperopt.start()
|
||||||
|
|
||||||
|
|
||||||
def test_in_strategy_auto_hyperopt_per_epoch(mocker, hyperopt_conf, tmpdir, fee) -> None:
|
def test_in_strategy_auto_hyperopt_per_epoch(mocker, hyperopt_conf, tmp_path, fee) -> None:
|
||||||
patch_exchange(mocker)
|
patch_exchange(mocker)
|
||||||
mocker.patch(f'{EXMS}.get_fee', fee)
|
mocker.patch(f'{EXMS}.get_fee', fee)
|
||||||
(Path(tmpdir) / 'hyperopt_results').mkdir(parents=True)
|
(tmp_path / 'hyperopt_results').mkdir(parents=True)
|
||||||
|
|
||||||
hyperopt_conf.update({
|
hyperopt_conf.update({
|
||||||
'strategy': 'HyperoptableStrategy',
|
'strategy': 'HyperoptableStrategy',
|
||||||
'user_data_dir': Path(tmpdir),
|
'user_data_dir': tmp_path,
|
||||||
'hyperopt_random_state': 42,
|
'hyperopt_random_state': 42,
|
||||||
'spaces': ['all'],
|
'spaces': ['all'],
|
||||||
'epochs': 3,
|
'epochs': 3,
|
||||||
@@ -995,15 +995,15 @@ def test_SKDecimal():
|
|||||||
assert space.transform([1.5, 1.6]) == [150, 160]
|
assert space.transform([1.5, 1.6]) == [150, 160]
|
||||||
|
|
||||||
|
|
||||||
def test_stake_amount_unlimited_max_open_trades(mocker, hyperopt_conf, tmpdir, fee) -> None:
|
def test_stake_amount_unlimited_max_open_trades(mocker, hyperopt_conf, tmp_path, fee) -> None:
|
||||||
# This test is to ensure that unlimited max_open_trades are ignored for the backtesting
|
# This test is to ensure that unlimited max_open_trades are ignored for the backtesting
|
||||||
# if we have an unlimited stake amount
|
# if we have an unlimited stake amount
|
||||||
patch_exchange(mocker)
|
patch_exchange(mocker)
|
||||||
mocker.patch(f'{EXMS}.get_fee', fee)
|
mocker.patch(f'{EXMS}.get_fee', fee)
|
||||||
(Path(tmpdir) / 'hyperopt_results').mkdir(parents=True)
|
(tmp_path / 'hyperopt_results').mkdir(parents=True)
|
||||||
hyperopt_conf.update({
|
hyperopt_conf.update({
|
||||||
'strategy': 'HyperoptableStrategy',
|
'strategy': 'HyperoptableStrategy',
|
||||||
'user_data_dir': Path(tmpdir),
|
'user_data_dir': tmp_path,
|
||||||
'hyperopt_random_state': 42,
|
'hyperopt_random_state': 42,
|
||||||
'spaces': ['trades'],
|
'spaces': ['trades'],
|
||||||
'stake_amount': 'unlimited'
|
'stake_amount': 'unlimited'
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ def test_text_table_bt_results():
|
|||||||
assert text_table_bt_results(pair_results, stake_currency='BTC') == result_str
|
assert text_table_bt_results(pair_results, stake_currency='BTC') == result_str
|
||||||
|
|
||||||
|
|
||||||
def test_generate_backtest_stats(default_conf, testdatadir, tmpdir):
|
def test_generate_backtest_stats(default_conf, testdatadir, tmp_path):
|
||||||
default_conf.update({'strategy': CURRENT_TEST_STRATEGY})
|
default_conf.update({'strategy': CURRENT_TEST_STRATEGY})
|
||||||
StrategyResolver.load_strategy(default_conf)
|
StrategyResolver.load_strategy(default_conf)
|
||||||
|
|
||||||
@@ -185,8 +185,8 @@ def test_generate_backtest_stats(default_conf, testdatadir, tmpdir):
|
|||||||
assert strat_stats['pairlist'] == ['UNITTEST/BTC']
|
assert strat_stats['pairlist'] == ['UNITTEST/BTC']
|
||||||
|
|
||||||
# Test storing stats
|
# Test storing stats
|
||||||
filename = Path(tmpdir / 'btresult.json')
|
filename = tmp_path / 'btresult.json'
|
||||||
filename_last = Path(tmpdir / LAST_BT_RESULT_FN)
|
filename_last = tmp_path / LAST_BT_RESULT_FN
|
||||||
_backup_file(filename_last, copy_file=True)
|
_backup_file(filename_last, copy_file=True)
|
||||||
assert not filename.is_file()
|
assert not filename.is_file()
|
||||||
|
|
||||||
@@ -196,7 +196,7 @@ def test_generate_backtest_stats(default_conf, testdatadir, tmpdir):
|
|||||||
last_fn = get_latest_backtest_filename(filename_last.parent)
|
last_fn = get_latest_backtest_filename(filename_last.parent)
|
||||||
assert re.match(r"btresult-.*\.json", last_fn)
|
assert re.match(r"btresult-.*\.json", last_fn)
|
||||||
|
|
||||||
filename1 = Path(tmpdir / last_fn)
|
filename1 = tmp_path / last_fn
|
||||||
assert filename1.is_file()
|
assert filename1.is_file()
|
||||||
content = filename1.read_text()
|
content = filename1.read_text()
|
||||||
assert 'max_drawdown_account' in content
|
assert 'max_drawdown_account' in content
|
||||||
@@ -254,14 +254,14 @@ def test_store_backtest_candles(testdatadir, mocker):
|
|||||||
dump_mock.reset_mock()
|
dump_mock.reset_mock()
|
||||||
|
|
||||||
|
|
||||||
def test_write_read_backtest_candles(tmpdir):
|
def test_write_read_backtest_candles(tmp_path):
|
||||||
|
|
||||||
candle_dict = {'DefStrat': {'UNITTEST/BTC': pd.DataFrame()}}
|
candle_dict = {'DefStrat': {'UNITTEST/BTC': pd.DataFrame()}}
|
||||||
|
|
||||||
# test directory exporting
|
# test directory exporting
|
||||||
sample_date = '2022_01_01_15_05_13'
|
sample_date = '2022_01_01_15_05_13'
|
||||||
store_backtest_analysis_results(Path(tmpdir), candle_dict, {}, sample_date)
|
store_backtest_analysis_results(tmp_path, candle_dict, {}, sample_date)
|
||||||
stored_file = Path(tmpdir / f'backtest-result-{sample_date}_signals.pkl')
|
stored_file = tmp_path / f'backtest-result-{sample_date}_signals.pkl'
|
||||||
with stored_file.open("rb") as scp:
|
with stored_file.open("rb") as scp:
|
||||||
pickled_signal_candles = joblib.load(scp)
|
pickled_signal_candles = joblib.load(scp)
|
||||||
|
|
||||||
@@ -273,9 +273,9 @@ def test_write_read_backtest_candles(tmpdir):
|
|||||||
_clean_test_file(stored_file)
|
_clean_test_file(stored_file)
|
||||||
|
|
||||||
# test file exporting
|
# test file exporting
|
||||||
filename = Path(tmpdir / 'testresult')
|
filename = tmp_path / 'testresult'
|
||||||
store_backtest_analysis_results(filename, candle_dict, {}, sample_date)
|
store_backtest_analysis_results(filename, candle_dict, {}, sample_date)
|
||||||
stored_file = Path(tmpdir / f'testresult-{sample_date}_signals.pkl')
|
stored_file = tmp_path / f'testresult-{sample_date}_signals.pkl'
|
||||||
with stored_file.open("rb") as scp:
|
with stored_file.open("rb") as scp:
|
||||||
pickled_signal_candles = joblib.load(scp)
|
pickled_signal_candles = joblib.load(scp)
|
||||||
|
|
||||||
|
|||||||
@@ -601,9 +601,9 @@ def test_cli_verbose_with_params(default_conf, mocker, caplog) -> None:
|
|||||||
assert log_has('Verbosity set to 3', caplog)
|
assert log_has('Verbosity set to 3', caplog)
|
||||||
|
|
||||||
|
|
||||||
def test_set_logfile(default_conf, mocker, tmpdir):
|
def test_set_logfile(default_conf, mocker, tmp_path):
|
||||||
patched_configuration_load_config_file(mocker, default_conf)
|
patched_configuration_load_config_file(mocker, default_conf)
|
||||||
f = Path(tmpdir / "test_file.log")
|
f = tmp_path / "test_file.log"
|
||||||
assert not f.is_file()
|
assert not f.is_file()
|
||||||
arglist = [
|
arglist = [
|
||||||
'trade', '--logfile', str(f),
|
'trade', '--logfile', str(f),
|
||||||
|
|||||||
@@ -32,9 +32,9 @@ def test_create_userdata_dir(mocker, default_conf, caplog) -> None:
|
|||||||
assert str(x) == str(Path("/tmp/bar"))
|
assert str(x) == str(Path("/tmp/bar"))
|
||||||
|
|
||||||
|
|
||||||
def test_create_userdata_dir_and_chown(mocker, tmpdir, caplog) -> None:
|
def test_create_userdata_dir_and_chown(mocker, tmp_path, caplog) -> None:
|
||||||
sp_mock = mocker.patch('subprocess.check_output')
|
sp_mock = mocker.patch('subprocess.check_output')
|
||||||
path = Path(tmpdir / 'bar')
|
path = tmp_path / 'bar'
|
||||||
assert not path.is_dir()
|
assert not path.is_dir()
|
||||||
|
|
||||||
x = create_userdata_dir(str(path), create_dir=True)
|
x = create_userdata_dir(str(path), create_dir=True)
|
||||||
|
|||||||
Reference in New Issue
Block a user