Skip to content

Commit 8aa8e74

Browse files
committed
TST: Fix test_nowrite_df with recent Pandas where df.values.ctypes.data seems lazy 🤔
1 parent 6423fcd commit 8aa8e74

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

backtesting/test/_test.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -588,17 +588,18 @@ def test_nowrite_df(self):
588588
# Test we don't write into passed data df by default.
589589
# Important for copy-on-write in Backtest.optimize()
590590
df = EURUSD.astype(float)
591-
values = df.values.ctypes.data
592-
assert values == df.values.ctypes.data
591+
_ = df.values.ctypes.data # dummy call for the value to stabilize!
592+
mem_addr = df.values.ctypes.data
593+
assert mem_addr == df.values.ctypes.data
593594

594595
class S(SmaCross):
595596
def init(self):
596597
super().init()
597-
assert values == self.data.df.values.ctypes.data
598+
assert mem_addr == self.data.df.values.ctypes.data, (mem_addr, self.data.df.values.ctypes.data)
598599

599600
bt = Backtest(df, S)
600601
_ = bt.run()
601-
assert values == bt._data.values.ctypes.data
602+
assert mem_addr == bt._data.values.ctypes.data
602603

603604
def test_multiprocessing_windows_spawn(self):
604605
df = GOOG.iloc[:100]

0 commit comments

Comments
 (0)