mdview2 testfiles: LINES.MD ~250 КБ (лимит 18432) + HUGE.MD >256 КБ (кламп)
- LINES.MD: 22000->25000 строк (~250 КБ -> 16 страниц -> max_lines 18432), чтобы обрыв был ровно на заявленном лимите. - HUGE.MD: ~340 КБ (проза ×4) для проверки клампа файлов >256 КБ. - floppy кладёт HUGE.MD на диск. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -41,15 +41,16 @@ $(README_DISK): README.MD | $(DISK_TMP)
|
|||||||
# iconv не нужен, make_disk берёт имя по basename):
|
# iconv не нужен, make_disk берёт имя по basename):
|
||||||
# TABLES.MD — пробивает кап контент-кэша (сообщение Content cache exhausted)
|
# TABLES.MD — пробивает кап контент-кэша (сообщение Content cache exhausted)
|
||||||
# LINES.MD — пробивает лимит строк 18432 (сообщение Line limit reached)
|
# LINES.MD — пробивает лимит строк 18432 (сообщение Line limit reached)
|
||||||
|
# HUGE.MD — >256 КБ, кламп (сообщение File too large - truncated at 256 KB)
|
||||||
# Убрать вместе с возвратом к обычному README-диску.
|
# Убрать вместе с возвратом к обычному README-диску.
|
||||||
TESTDIR := testfiles
|
TESTDIR := testfiles
|
||||||
|
|
||||||
# UTF8TEST.MD кладётся на диск КАК ЕСТЬ (в UTF-8, без перекодировки) —
|
# UTF8TEST.MD кладётся на диск КАК ЕСТЬ (в UTF-8, без перекодировки) —
|
||||||
# это тестовый вход для проверки UTF-8 рендеринга (Фаза 2 кодировок).
|
# это тестовый вход для проверки UTF-8 рендеринга (Фаза 2 кодировок).
|
||||||
floppy: $(EXAMPLE).exe $(README_DISK) $(TESTDIR)/TABLES.MD $(TESTDIR)/LINES.MD
|
floppy: $(EXAMPLE).exe $(README_DISK) $(TESTDIR)/TABLES.MD $(TESTDIR)/LINES.MD $(TESTDIR)/HUGE.MD
|
||||||
python3 $(MAKE_DISK) $(FLOPPY_IMG) $(EXAMPLE).exe $(README_DISK) $(TESTDIR)/TABLES.MD $(TESTDIR)/LINES.MD UTF8TEST.MD
|
python3 $(MAKE_DISK) $(FLOPPY_IMG) $(EXAMPLE).exe $(README_DISK) $(TESTDIR)/TABLES.MD $(TESTDIR)/LINES.MD $(TESTDIR)/HUGE.MD UTF8TEST.MD
|
||||||
@echo
|
@echo
|
||||||
@echo "Floppy ready: $(FLOPPY_IMG) (mdview2.exe + README.MD + TABLES.MD + LINES.MD + UTF8TEST.MD)"
|
@echo "Floppy ready: $(FLOPPY_IMG) (mdview2.exe + README.MD + TABLES.MD + LINES.MD + HUGE.MD + UTF8TEST.MD)"
|
||||||
@echo "Run: cd $(MAME_DIR) && ./run_mame.sh"
|
@echo "Run: cd $(MAME_DIR) && ./run_mame.sh"
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -24,13 +24,16 @@ def write(name, data):
|
|||||||
print(f"{name}: {os.path.getsize(path)} bytes")
|
print(f"{name}: {os.path.getsize(path)} bytes")
|
||||||
|
|
||||||
|
|
||||||
# --- BIG.MD: склейка README + READMEBG ×2, перекодировано в CP866 -----------
|
# --- BIG.MD / HUGE.MD: склейка README + READMEBG, перекодировано в CP866 -----
|
||||||
big = bytearray()
|
# BIG (×2 ≈170 КБ) — успешный рендер большого файла (<256 КБ).
|
||||||
for _ in range(2):
|
# HUGE (×4 ≈340 КБ) — БОЛЬШЕ 256 КБ: проверка клампа (читаются первые 256 КБ +
|
||||||
for fn in ('README.MD', 'READMEBG.MD'):
|
# строка-предупреждение TRUNC_FILE).
|
||||||
|
prose = bytearray()
|
||||||
|
for fn in ('README.MD', 'READMEBG.MD'):
|
||||||
with open(os.path.join(ROOT, fn), encoding='utf-8') as f:
|
with open(os.path.join(ROOT, fn), encoding='utf-8') as f:
|
||||||
big += f.read().encode('cp866', errors='replace')
|
prose += f.read().encode('cp866', errors='replace')
|
||||||
write('BIG.MD', bytes(big))
|
write('BIG.MD', bytes(prose * 2))
|
||||||
|
write('HUGE.MD', bytes(prose * 4))
|
||||||
|
|
||||||
# --- TABLES.MD: неровные таблицы -> исчерпание контент-кэша ------------------
|
# --- TABLES.MD: неровные таблицы -> исчерпание контент-кэша ------------------
|
||||||
# Один широкий столбец (72 симв.) на таблицу задаёт ширину; остальные ячейки
|
# Один широкий столбец (72 симв.) на таблицу задаёт ширину; остальные ячейки
|
||||||
@@ -57,7 +60,7 @@ write('TABLES.MD', '\n'.join(out) + '\n')
|
|||||||
# контент БЕЗ склейки -> кладём всё в fenced code block (verbatim, 1:1
|
# контент БЕЗ склейки -> кладём всё в fenced code block (verbatim, 1:1
|
||||||
# строка-источник = экранная строка). 22000 строк > 18432 -> TRUNC_LINES;
|
# строка-источник = экранная строка). 22000 строк > 18432 -> TRUNC_LINES;
|
||||||
# контент мал (~9 ячеек/строка), кап контента не задевается.
|
# контент мал (~9 ячеек/строка), кап контента не задевается.
|
||||||
N = 22000
|
N = 25000 # ~250 КБ -> 16 страниц -> max_lines = 18432; строк больше -> обрыв на 18432
|
||||||
out = ['# Short lines test - line limit trigger', '', '```']
|
out = ['# Short lines test - line limit trigger', '', '```']
|
||||||
out += [f'row {i:05d}' for i in range(1, N + 1)]
|
out += [f'row {i:05d}' for i in range(1, N + 1)]
|
||||||
out.append('```')
|
out.append('```')
|
||||||
|
|||||||
Reference in New Issue
Block a user