view src/testdir/test77a.in @ 23473:ad83c0ff34c0 v8.2.2279

patch 8.2.2279: Vim9: memory leak with catch in skipped block Commit: https://github.com/vim/vim/commit/508b5618ec0bc6d1edff71e04d99280a2a51df9d Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jan 2 18:17:26 2021 +0100 patch 8.2.2279: Vim9: memory leak with catch in skipped block Problem: Vim9: memory leak with catch in skipped block. Solution: Free the pattern if not used.
author Bram Moolenaar <Bram@vim.org>
date Sat, 02 Jan 2021 18:30:03 +0100
parents e705ea6e855b
children
line wrap: on
line source

Inserts 2 million lines with consecutive integers starting from 1
(essentially, the output of GNU's seq 1 2000000), writes them to Xtest
and writes its cksum to test.out.

We need 2 million lines to trigger a call to mf_hash_grow().  If it would mess
up the lines the checksum would differ.

cksum is part of POSIX and so should be available on most Unixes.
If it isn't available then the test will be skipped.

VMS does not have CKSUM but has a built in CHECKSUM - it should be used
STARTTEST
:silent! while 0
:  e! test.ok
:  w! test.out
:  qa!
:silent! endwhile
:if !has("vms")
: e! test.ok
: w! test.out
: qa!
:endif
:set fileformat=unix undolevels=-1
ggdG
:let i = 1
:while i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhile
ggdd
:w! Xtest.
:r !@test77a.com Xtest.
:s/\s/ /g
:set fileformat&
:.w! test.out
:qa!
ENDTEST