MCPcopy Index your code
hub / github.com/python/cpython / test_history_size

Method test_history_size

Lib/test/test_readline.py:337–370  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

335 @unittest.skipIf(is_editline,
336 "editline history size configuration is broken")
337 def test_history_size(self):
338 history_size = 10
339 with temp_dir() as test_dir:
340 inputrc = os.path.join(test_dir, "inputrc")
341 with open(inputrc, "wb") as f:
342 f.write(b"set history-size %d\n" % history_size)
343
344 history_file = os.path.join(test_dir, "history")
345 with open(history_file, "wb") as f:
346 # history_size * 2 items crashes readline
347 data = b"".join(b"item %d\n" % i
348 for i in range(history_size * 2))
349 f.write(data)
350
351 script = """
352import os
353import readline
354
355history_file = os.environ["HISTORY_FILE"]
356readline.read_history_file(history_file)
357input()
358readline.write_history_file(history_file)
359"""
360
361 env = dict(os.environ)
362 env["INPUTRC"] = inputrc
363 env["HISTORY_FILE"] = history_file
364
365 run_pty(script, input=b"last input\r", env=env)
366
367 with open(history_file, "rb") as f:
368 lines = f.readlines()
369 self.assertEqual(len(lines), history_size)
370 self.assertEqual(lines[-1].strip(), b"last input")
371
372 @requires_working_threading()
373 def test_gh123321_threadsafe(self):

Callers

nothing calls this directly

Calls 8

temp_dirFunction · 0.90
run_ptyFunction · 0.90
openFunction · 0.50
joinMethod · 0.45
writeMethod · 0.45
readlinesMethod · 0.45
assertEqualMethod · 0.45
stripMethod · 0.45

Tested by

no test coverage detected