spacevim/bundle/verilog/test/run_test.vim
JIe 2bb7059579
Some checks failed
Detach Plugins / check (FlyGrep.vim) (push) Has been cancelled
Detach Plugins / check (GitHub.vim) (push) Has been cancelled
Detach Plugins / check (JavaUnit.vim) (push) Has been cancelled
Detach Plugins / check (SourceCounter.vim) (push) Has been cancelled
Detach Plugins / check (cpicker.nvim) (push) Has been cancelled
Detach Plugins / check (dein-ui.vim) (push) Has been cancelled
Detach Plugins / check (git.vim) (push) Has been cancelled
Detach Plugins / check (iedit.vim) (push) Has been cancelled
Detach Plugins / check (scrollbar.vim) (push) Has been cancelled
Detach Plugins / check (vim-chat) (push) Has been cancelled
Detach Plugins / check (vim-cheat) (push) Has been cancelled
Detach Plugins / check (vim-todo) (push) Has been cancelled
Detach Plugins / check (xmake.vim) (push) Has been cancelled
test / Linux (nvim, nightly) (push) Has been cancelled
test / Linux (nvim, v0.3.8) (push) Has been cancelled
test / Linux (nvim, v0.4.0) (push) Has been cancelled
test / Linux (nvim, v0.4.2) (push) Has been cancelled
test / Linux (nvim, v0.4.3) (push) Has been cancelled
test / Linux (nvim, v0.4.4) (push) Has been cancelled
test / Linux (nvim, v0.5.0) (push) Has been cancelled
test / Linux (nvim, v0.5.1) (push) Has been cancelled
test / Linux (nvim, v0.6.0) (push) Has been cancelled
test / Linux (nvim, v0.6.1) (push) Has been cancelled
test / Linux (nvim, v0.7.0) (push) Has been cancelled
test / Linux (nvim, v0.7.2) (push) Has been cancelled
test / Linux (nvim, v0.8.0) (push) Has been cancelled
test / Linux (nvim, v0.8.1) (push) Has been cancelled
test / Linux (nvim, v0.8.2) (push) Has been cancelled
test / Linux (nvim, v0.8.3) (push) Has been cancelled
test / Linux (nvim, v0.9.0) (push) Has been cancelled
test / Linux (nvim, v0.9.1) (push) Has been cancelled
test / Linux (true, vim, v7.4.052) (push) Has been cancelled
test / Linux (true, vim, v7.4.1689) (push) Has been cancelled
test / Linux (true, vim, v7.4.629) (push) Has been cancelled
test / Linux (true, vim, v8.0.0027) (push) Has been cancelled
test / Linux (true, vim, v8.0.0183) (push) Has been cancelled
test / Linux (vim, nightly) (push) Has been cancelled
test / Linux (vim, v8.0.0184) (push) Has been cancelled
test / Linux (vim, v8.0.1453) (push) Has been cancelled
test / Linux (vim, v8.1.2269) (push) Has been cancelled
test / Linux (vim, v8.2.2434) (push) Has been cancelled
test / Linux (vim, v8.2.3995) (push) Has been cancelled
test / Windows (nvim, nightly) (push) Has been cancelled
test / Windows (nvim, v0.3.8) (push) Has been cancelled
test / Windows (nvim, v0.4.2) (push) Has been cancelled
test / Windows (nvim, v0.4.3) (push) Has been cancelled
test / Windows (nvim, v0.4.4) (push) Has been cancelled
test / Windows (nvim, v0.5.0) (push) Has been cancelled
test / Windows (nvim, v0.5.1) (push) Has been cancelled
test / Windows (nvim, v0.6.0) (push) Has been cancelled
test / Windows (nvim, v0.6.1) (push) Has been cancelled
test / Windows (nvim, v0.7.0) (push) Has been cancelled
test / Windows (nvim, v0.7.2) (push) Has been cancelled
test / Windows (nvim, v0.8.0) (push) Has been cancelled
test / Windows (nvim, v0.8.1) (push) Has been cancelled
test / Windows (nvim, v0.8.2) (push) Has been cancelled
test / Windows (nvim, v0.8.3) (push) Has been cancelled
test / Windows (nvim, v0.9.0) (push) Has been cancelled
test / Windows (nvim, v0.9.1) (push) Has been cancelled
test / Windows (vim, nightly) (push) Has been cancelled
test / Windows (vim, v7.4.1185) (push) Has been cancelled
test / Windows (vim, v7.4.1689) (push) Has been cancelled
test / Windows (vim, v8.0.0027) (push) Has been cancelled
test / Windows (vim, v8.0.1453) (push) Has been cancelled
test / Windows (vim, v8.1.2269) (push) Has been cancelled
test / Windows (vim, v8.2.2434) (push) Has been cancelled
test / Windows (vim, v8.2.3995) (push) Has been cancelled
docker / docker (push) Has been cancelled
mirror / check (coding) (push) Has been cancelled
mirror / check (gitee) (push) Has been cancelled
mirror / check (gitlab) (push) Has been cancelled
init
2024-08-21 14:17:26 +08:00

181 lines
5.7 KiB
VimL
Vendored

"-----------------------------------------------------------------------
" Global configurations
"-----------------------------------------------------------------------
" Configure custom syntax
let g:verilog_syntax_custom = {
\ 'spyglass' : [{
\ 'match_start' : '\/\/\s*spyglass\s\+disable_block\s\+\z(\(\w\|-\)\+\(\s\+\(\w\|-\)\+\)*\)',
\ 'match_end' : '\/\/\s*spyglass\s\+enable_block\s\+\z1',
\ 'syn_argument': 'transparent keepend',
\ }],
\ }
"-----------------------------------------------------------------------
" Syntax folding test
"-----------------------------------------------------------------------
function! RunTestFold()
let test_result=0
" Enable all syntax folding
let g:verilog_syntax_fold_lst="all"
set foldmethod=syntax
set noautochdir
" Open syntax fold test file in read-only mode
silent view test/folding.v
" Verify folding
let test_result=TestFold(0) || test_result
echo ''
" Test with "block_nested"
let g:verilog_syntax_fold_lst="all,block_nested"
silent view!
let test_result=TestFold(1) || test_result
echo ''
" Test with "block_named"
let g:verilog_syntax_fold_lst="all,block_named"
silent view!
let test_result=TestFold(2) || test_result
echo ''
" Check test results and exit accordingly
if test_result
cquit
else
qall!
endif
endfunction
"-----------------------------------------------------------------------
" Syntax indent test
"-----------------------------------------------------------------------
function! RunTestIndent()
let g:verilog_disable_indent_lst = "module,eos"
let test_result=0
" Open syntax indent test file
silent edit test/indent.sv
" Verify indent
let test_result=TestIndent() || test_result
echo ''
silent edit!
" Test again with 'ignorecase' enabled
setlocal ignorecase
let test_result=TestIndent() || test_result
echo ''
silent edit!
" Make file read-only to guarantee that vim quits with exit status 0
silent view!
" Check test results and exit accordingly
if test_result
cquit
else
qall!
endif
endfunction
"-----------------------------------------------------------------------
" Error format test
"-----------------------------------------------------------------------
function! RunTestEfm()
let test_result=0
set nomore "Disable pager to avoid issues with Travis
let g:verilog_efm_quickfix_clean = 1
for check_uvm in [0, 1]
if check_uvm
let g:verilog_efm_uvm_lst = 'all'
else
unlet! g:verilog_efm_uvm_lst
endif
let test_result = TestEfm('iverilog', 1, check_uvm) || test_result
let test_result = TestEfm('verilator', 1, check_uvm) || test_result
let test_result = TestEfm('verilator', 3, check_uvm) || test_result
let test_result = TestEfm('ncverilog', 1, check_uvm) || test_result
let test_result = TestEfm('ncverilog', 3, check_uvm) || test_result
let test_result = TestEfm('spyglass', 1, check_uvm) || test_result
endfor
" Check test results and exit accordingly
if test_result
cquit
else
qall!
endif
endfunction
"-----------------------------------------------------------------------
" Syntax test
"-----------------------------------------------------------------------
function! RunTestSyntax()
let test_result=0
set nomore "Disable pager to avoid issues with Travis
set foldmethod=syntax
set foldlevel=99
" Run syntax test for various folding configurations
let g:verilog_syntax_fold_lst=''
let test_result = TestSyntax('syntax.sv', g:verilog_syntax_fold_lst) || test_result
let g:verilog_syntax_fold_lst='all'
let test_result = TestSyntax('syntax.sv', g:verilog_syntax_fold_lst) || test_result
let g:verilog_syntax_fold_lst='all,block_nested'
let test_result = TestSyntax('syntax.sv', g:verilog_syntax_fold_lst) || test_result
let g:verilog_syntax_fold_lst='all,block_named'
let test_result = TestSyntax('syntax.sv', g:verilog_syntax_fold_lst) || test_result
let g:verilog_syntax_fold_lst='all,instance'
let test_result = TestSyntax('syntax.sv', g:verilog_syntax_fold_lst) || test_result
let g:verilog_syntax_fold_lst=''
let test_result = TestSyntax('folding.v', g:verilog_syntax_fold_lst) || test_result
let g:verilog_syntax_fold_lst='all'
let test_result = TestSyntax('folding.v', g:verilog_syntax_fold_lst) || test_result
let g:verilog_syntax_fold_lst='all,block_nested'
let test_result = TestSyntax('folding.v', g:verilog_syntax_fold_lst) || test_result
let g:verilog_syntax_fold_lst='all,block_named'
let test_result = TestSyntax('folding.v', g:verilog_syntax_fold_lst) || test_result
let g:verilog_syntax_fold_lst='all,instance'
let test_result = TestSyntax('folding.v', g:verilog_syntax_fold_lst) || test_result
let g:verilog_syntax_fold_lst=''
let test_result = TestSyntax('indent.sv', g:verilog_syntax_fold_lst) || test_result
let g:verilog_syntax_fold_lst='all'
let test_result = TestSyntax('indent.sv', g:verilog_syntax_fold_lst) || test_result
let g:verilog_syntax_fold_lst='all,block_nested'
let test_result = TestSyntax('indent.sv', g:verilog_syntax_fold_lst) || test_result
let g:verilog_syntax_fold_lst='all,block_named'
let test_result = TestSyntax('indent.sv', g:verilog_syntax_fold_lst) || test_result
let g:verilog_syntax_fold_lst='all,instance'
let test_result = TestSyntax('indent.sv', g:verilog_syntax_fold_lst) || test_result
" Check test results and exit accordingly
if test_result
cquit
else
qall!
endif
endfunction
" vi: set expandtab softtabstop=4 shiftwidth=4: