runtime(indent-test): MS-Windows: Add Makefile for running indent tests

A few more unrelated changes:
- fix Vim script style of indent test
- Change comments to complete sentences in Filelist

closes: #14198
This commit is contained in:
RestorerZ
2024-03-16 15:08:53 +01:00
committed by Christian Brabandt
parent d0c1b7723f
commit 8291e91c6b
4 changed files with 81 additions and 56 deletions

View File

@ -2,7 +2,7 @@
"
" Current directory must be runtime/indent.
" Only do this with the +eval feature
" Only do this with the +eval feature.
if 1
set nocp
@ -18,7 +18,7 @@ au! SwapExists * call HandleSwapExists()
func HandleSwapExists()
" Ignore finding a swap file for the test input and output, the user might be
" editing them and that's OK.
if expand('<afile>') =~ '.*\.\(in\|out\|fail\|ok\)'
if expand('<afile>') =~ '.*\.\%(in\|out\|fail\|ok\)'
let v:swapchoice = 'e'
endif
endfunc
@ -30,19 +30,19 @@ for fname in glob('testdir/*.in', 1, 1)
" Execute the test if the .out file does not exist of when the .in file is
" newer.
let in_time = getftime(fname)
let out_time = getftime(root . '.out')
let out_time = getftime(root .. '.out')
if out_time < 0 || in_time > out_time
call delete(root . '.fail')
call delete(root . '.out')
call delete(root .. '.fail')
call delete(root .. '.out')
set sw& ts& filetype=
exe 'split ' . fname
exe 'split ' .. fname
let did_some = 0
let failed = 0
let end = 1
while 1
" Indent all the lines between "START_INDENT" and "END_INDENT"
" Indent all the lines between "START_INDENT" and "END_INDENT".
exe end
let start = search('\<START_INDENT\>')
let end = search('\<END_INDENT\>')
@ -63,7 +63,7 @@ for fname in glob('testdir/*.in', 1, 1)
exe lnum + 1
let lnum_exe = search('\<INDENT_EXE\>')
exe lnum + 1
let indent_at = search('\<INDENT_\(AT\|NEXT\|PREV\)\>')
let indent_at = search('\<INDENT_\%(AT\|NEXT\|PREV\)\>')
if lnum_exe > 0 && lnum_exe < end && (indent_at <= 0 || lnum_exe < indent_at)
exe substitute(getline(lnum_exe), '.*INDENT_EXE', '', '')
let lnum = lnum_exe
@ -87,15 +87,15 @@ for fname in glob('testdir/*.in', 1, 1)
exe start + 1
if pattern == ''
try
exe 'normal =' . (end - 1) . 'G'
exe 'normal =' .. (end - 1) .. 'G'
catch
call append(indent_at, 'ERROR: ' . v:exception)
call append(indent_at, 'ERROR: ' .. v:exception)
let failed = 1
endtry
else
let lnum = search(pattern)
if lnum <= 0
call append(indent_at, 'ERROR: pattern not found: ' . pattern)
call append(indent_at, 'ERROR: pattern not found: ' .. pattern)
let failed = 1
break
endif
@ -109,7 +109,7 @@ for fname in glob('testdir/*.in', 1, 1)
try
normal ==
catch
call append(indent_at, 'ERROR: ' . v:exception)
call append(indent_at, 'ERROR: ' .. v:exception)
let failed = 1
endtry
endif
@ -118,21 +118,21 @@ for fname in glob('testdir/*.in', 1, 1)
if !failed
" Check the resulting text equals the .ok file.
if getline(1, '$') != readfile(root . '.ok')
if getline(1, '$') != readfile(root .. '.ok')
let failed = 1
endif
endif
if failed
let failed_count += 1
exe 'write ' . root . '.fail'
echoerr 'Test ' . fname . ' FAILED!'
exe 'write ' .. root .. '.fail'
echoerr 'Test ' .. fname .. ' FAILED!'
else
exe 'write ' . root . '.out'
echo "Test " . fname . " OK\n"
exe 'write ' .. root .. '.out'
echo "Test " .. fname .. " OK\n"
endif
quit! " close the indented file
quit! " Close the indented file.
endif
endfor
@ -140,7 +140,7 @@ endfor
endif
if failed_count > 0
" have make report an error
" Have make report an error.
cquit
endif
qall!