16d20e175SBram Moolenaar" Test for cscope commands. 26d20e175SBram Moolenaar 3b46fecd3SBram Moolenaarsource check.vim 4b46fecd3SBram MoolenaarCheckFeature cscope 5b46fecd3SBram MoolenaarCheckFeature quickfix 68c5a278fSBram MoolenaarCheckExecutable cscope 76d20e175SBram Moolenaar 8812ad4f3SBram Moolenaarfunc CscopeSetupOrClean(setup) 9812ad4f3SBram Moolenaar if a:setup 10812ad4f3SBram Moolenaar noa sp ../memfile_test.c 11812ad4f3SBram Moolenaar saveas! Xmemfile_test.c 12812ad4f3SBram Moolenaar call system('cscope -bk -fXcscope.out Xmemfile_test.c') 13812ad4f3SBram Moolenaar call system('cscope -bk -fXcscope2.out Xmemfile_test.c') 14812ad4f3SBram Moolenaar cscope add Xcscope.out 15812ad4f3SBram Moolenaar set cscopequickfix=s-,g-,d-,c-,t-,e-,f-,i-,a- 16812ad4f3SBram Moolenaar else 17812ad4f3SBram Moolenaar cscope kill -1 18812ad4f3SBram Moolenaar for file in ['Xcscope.out', 'Xcscope2.out', 'Xmemfile_test.c'] 19812ad4f3SBram Moolenaar call delete(file) 20812ad4f3SBram Moolenaar endfo 21812ad4f3SBram Moolenaar endif 22812ad4f3SBram Moolenaarendfunc 23812ad4f3SBram Moolenaar 24812ad4f3SBram Moolenaarfunc Test_cscopeWithCscopeConnections() 25812ad4f3SBram Moolenaar call CscopeSetupOrClean(1) 26d7ffc0baSBram Moolenaar " Test: E568: duplicate cscope database not added 27812ad4f3SBram Moolenaar try 28812ad4f3SBram Moolenaar set nocscopeverbose 29812ad4f3SBram Moolenaar cscope add Xcscope.out 30812ad4f3SBram Moolenaar set cscopeverbose 31812ad4f3SBram Moolenaar catch 3237175409SBram Moolenaar call assert_report('exception thrown') 33812ad4f3SBram Moolenaar endtry 34e2e4075fSBram Moolenaar call assert_fails('cscope add', 'E560:') 35e2e4075fSBram Moolenaar call assert_fails('cscope add Xcscope.out', 'E568:') 36e2e4075fSBram Moolenaar call assert_fails('cscope add doesnotexist.out', 'E563:') 37d7ffc0baSBram Moolenaar if has('unix') 38d7ffc0baSBram Moolenaar call assert_fails('cscope add /dev/null', 'E564:') 39d7ffc0baSBram Moolenaar endif 40812ad4f3SBram Moolenaar 41d7ffc0baSBram Moolenaar " Test: Find this C-Symbol 42812ad4f3SBram Moolenaar for cmd in ['cs find s main', 'cs find 0 main'] 43812ad4f3SBram Moolenaar let a = execute(cmd) 44d7ffc0baSBram Moolenaar " Test where it moves the cursor 45812ad4f3SBram Moolenaar call assert_equal('main(void)', getline('.')) 46d7ffc0baSBram Moolenaar " Test the output of the :cs command 47812ad4f3SBram Moolenaar call assert_match('\n(1 of 1): <<main>> main(void )', a) 48812ad4f3SBram Moolenaar endfor 49812ad4f3SBram Moolenaar 50d7ffc0baSBram Moolenaar " Test: Find this definition 51d7ffc0baSBram Moolenaar for cmd in ['cs find g test_mf_hash', 52d7ffc0baSBram Moolenaar \ 'cs find 1 test_mf_hash', 53d7ffc0baSBram Moolenaar \ 'cs find 1 test_mf_hash'] " leading space ignored. 54812ad4f3SBram Moolenaar exe cmd 55812ad4f3SBram Moolenaar call assert_equal(['', '/*', ' * Test mf_hash_*() functions.', ' */', ' static void', 'test_mf_hash(void)', '{'], getline(line('.')-5, line('.')+1)) 56812ad4f3SBram Moolenaar endfor 57812ad4f3SBram Moolenaar 58d7ffc0baSBram Moolenaar " Test: Find functions called by this function 59812ad4f3SBram Moolenaar for cmd in ['cs find d test_mf_hash', 'cs find 2 test_mf_hash'] 60812ad4f3SBram Moolenaar let a = execute(cmd) 61812ad4f3SBram Moolenaar call assert_match('\n(1 of 42): <<mf_hash_init>> mf_hash_init(&ht);', a) 62812ad4f3SBram Moolenaar call assert_equal(' mf_hash_init(&ht);', getline('.')) 63812ad4f3SBram Moolenaar endfor 64812ad4f3SBram Moolenaar 65d7ffc0baSBram Moolenaar " Test: Find functions calling this function 66812ad4f3SBram Moolenaar for cmd in ['cs find c test_mf_hash', 'cs find 3 test_mf_hash'] 67812ad4f3SBram Moolenaar let a = execute(cmd) 68812ad4f3SBram Moolenaar call assert_match('\n(1 of 1): <<main>> test_mf_hash();', a) 69812ad4f3SBram Moolenaar call assert_equal(' test_mf_hash();', getline('.')) 70812ad4f3SBram Moolenaar endfor 71812ad4f3SBram Moolenaar 72d7ffc0baSBram Moolenaar " Test: Find this text string 73812ad4f3SBram Moolenaar for cmd in ['cs find t Bram', 'cs find 4 Bram'] 74812ad4f3SBram Moolenaar let a = execute(cmd) 75812ad4f3SBram Moolenaar call assert_match('(1 of 1): <<<unknown>>> \* VIM - Vi IMproved^Iby Bram Moolenaar', a) 76812ad4f3SBram Moolenaar call assert_equal(' * VIM - Vi IMproved by Bram Moolenaar', getline('.')) 77812ad4f3SBram Moolenaar endfor 78812ad4f3SBram Moolenaar 79d7ffc0baSBram Moolenaar " Test: Find this egrep pattern 80812ad4f3SBram Moolenaar " test all matches returned by cscope 81812ad4f3SBram Moolenaar for cmd in ['cs find e ^\#includ.', 'cs find 6 ^\#includ.'] 82812ad4f3SBram Moolenaar let a = execute(cmd) 83812ad4f3SBram Moolenaar call assert_match('\n(1 of 3): <<<unknown>>> #include <assert.h>', a) 84812ad4f3SBram Moolenaar call assert_equal('#include <assert.h>', getline('.')) 85812ad4f3SBram Moolenaar cnext 86812ad4f3SBram Moolenaar call assert_equal('#include "main.c"', getline('.')) 87812ad4f3SBram Moolenaar cnext 88812ad4f3SBram Moolenaar call assert_equal('#include "memfile.c"', getline('.')) 89812ad4f3SBram Moolenaar call assert_fails('cnext', 'E553:') 90812ad4f3SBram Moolenaar endfor 91812ad4f3SBram Moolenaar 92d7ffc0baSBram Moolenaar " Test: Find the same egrep pattern using lcscope this time. 93812ad4f3SBram Moolenaar let a = execute('lcs find e ^\#includ.') 94812ad4f3SBram Moolenaar call assert_match('\n(1 of 3): <<<unknown>>> #include <assert.h>', a) 95812ad4f3SBram Moolenaar call assert_equal('#include <assert.h>', getline('.')) 96812ad4f3SBram Moolenaar lnext 97812ad4f3SBram Moolenaar call assert_equal('#include "main.c"', getline('.')) 98812ad4f3SBram Moolenaar lnext 99812ad4f3SBram Moolenaar call assert_equal('#include "memfile.c"', getline('.')) 100812ad4f3SBram Moolenaar call assert_fails('lnext', 'E553:') 101812ad4f3SBram Moolenaar 102d7ffc0baSBram Moolenaar " Test: Find this file 103812ad4f3SBram Moolenaar for cmd in ['cs find f Xmemfile_test.c', 'cs find 7 Xmemfile_test.c'] 104812ad4f3SBram Moolenaar enew 105812ad4f3SBram Moolenaar let a = execute(cmd) 1063f40ce78SBram Moolenaar call assert_true(a =~ '"Xmemfile_test.c" \d\+L, \d\+B') 107812ad4f3SBram Moolenaar call assert_equal('Xmemfile_test.c', @%) 108812ad4f3SBram Moolenaar endfor 109812ad4f3SBram Moolenaar 110d7ffc0baSBram Moolenaar " Test: Find files #including this file 111812ad4f3SBram Moolenaar for cmd in ['cs find i assert.h', 'cs find 8 assert.h'] 112812ad4f3SBram Moolenaar enew 113812ad4f3SBram Moolenaar let a = execute(cmd) 1144792255eSBram Moolenaar let alines = split(a, '\n', 1) 1154792255eSBram Moolenaar call assert_equal('', alines[0]) 1163f40ce78SBram Moolenaar call assert_true(alines[1] =~ '"Xmemfile_test.c" \d\+L, \d\+B') 1174792255eSBram Moolenaar call assert_equal('(1 of 1): <<global>> #include <assert.h>', alines[2]) 118812ad4f3SBram Moolenaar call assert_equal('#include <assert.h>', getline('.')) 119812ad4f3SBram Moolenaar endfor 120812ad4f3SBram Moolenaar 121d7ffc0baSBram Moolenaar " Test: Invalid find command 122*1e469c72SDominique Pelle call assert_fails('cs find', 'E560:') 123812ad4f3SBram Moolenaar call assert_fails('cs find x', 'E560:') 124812ad4f3SBram Moolenaar 1255feabe00SBram Moolenaar if has('float') 126d7ffc0baSBram Moolenaar " Test: Find places where this symbol is assigned a value 127812ad4f3SBram Moolenaar " this needs a cscope >= 15.8 128812ad4f3SBram Moolenaar " unfortunately, Travis has cscope version 15.7 129812ad4f3SBram Moolenaar let cscope_version = systemlist('cscope --version')[0] 130812ad4f3SBram Moolenaar let cs_version = str2float(matchstr(cscope_version, '\d\+\(\.\d\+\)\?')) 131812ad4f3SBram Moolenaar if cs_version >= 15.8 132812ad4f3SBram Moolenaar for cmd in ['cs find a item', 'cs find 9 item'] 133812ad4f3SBram Moolenaar let a = execute(cmd) 134d6ec1730SBram Moolenaar call assert_equal(['', '(1 of 4): <<test_mf_hash>> item = LALLOC_CLEAR_ONE(mf_hashitem_T);'], split(a, '\n', 1)) 135d6ec1730SBram Moolenaar call assert_equal(' item = LALLOC_CLEAR_ONE(mf_hashitem_T);', getline('.')) 136812ad4f3SBram Moolenaar cnext 137812ad4f3SBram Moolenaar call assert_equal(' item = mf_hash_find(&ht, key);', getline('.')) 138812ad4f3SBram Moolenaar cnext 139812ad4f3SBram Moolenaar call assert_equal(' item = mf_hash_find(&ht, key);', getline('.')) 140812ad4f3SBram Moolenaar cnext 141812ad4f3SBram Moolenaar call assert_equal(' item = mf_hash_find(&ht, key);', getline('.')) 142812ad4f3SBram Moolenaar endfor 143812ad4f3SBram Moolenaar endif 1445feabe00SBram Moolenaar endif 145812ad4f3SBram Moolenaar 146d7ffc0baSBram Moolenaar " Test: leading whitespace is not removed for cscope find text 147812ad4f3SBram Moolenaar let a = execute('cscope find t test_mf_hash') 148812ad4f3SBram Moolenaar call assert_equal(['', '(1 of 1): <<<unknown>>> test_mf_hash();'], split(a, '\n', 1)) 149812ad4f3SBram Moolenaar call assert_equal(' test_mf_hash();', getline('.')) 150812ad4f3SBram Moolenaar 151d7ffc0baSBram Moolenaar " Test: test with scscope 152812ad4f3SBram Moolenaar let a = execute('scs find t Bram') 153812ad4f3SBram Moolenaar call assert_match('(1 of 1): <<<unknown>>> \* VIM - Vi IMproved^Iby Bram Moolenaar', a) 154812ad4f3SBram Moolenaar call assert_equal(' * VIM - Vi IMproved by Bram Moolenaar', getline('.')) 155812ad4f3SBram Moolenaar 156d7ffc0baSBram Moolenaar " Test: cscope help 157812ad4f3SBram Moolenaar for cmd in ['cs', 'cs help', 'cs xxx'] 158812ad4f3SBram Moolenaar let a = execute(cmd) 159812ad4f3SBram Moolenaar call assert_match('^cscope commands:\n', a) 160812ad4f3SBram Moolenaar call assert_match('\nadd :', a) 161812ad4f3SBram Moolenaar call assert_match('\nfind :', a) 162812ad4f3SBram Moolenaar call assert_match('\nhelp : Show this message', a) 163812ad4f3SBram Moolenaar call assert_match('\nkill : Kill a connection', a) 164812ad4f3SBram Moolenaar call assert_match('\nreset: Reinit all connections', a) 165812ad4f3SBram Moolenaar call assert_match('\nshow : Show connections', a) 166812ad4f3SBram Moolenaar endfor 167812ad4f3SBram Moolenaar let a = execute('scscope help') 168812ad4f3SBram Moolenaar call assert_match('This cscope command does not support splitting the window\.', a) 169812ad4f3SBram Moolenaar 170d7ffc0baSBram Moolenaar " Test: reset connections 171812ad4f3SBram Moolenaar let a = execute('cscope reset') 172812ad4f3SBram Moolenaar call assert_match('\nAdded cscope database.*Xcscope.out (#0)', a) 173812ad4f3SBram Moolenaar call assert_match('\nAll cscope databases reset', a) 174812ad4f3SBram Moolenaar 175d7ffc0baSBram Moolenaar " Test: cscope show 176812ad4f3SBram Moolenaar let a = execute('cscope show') 177812ad4f3SBram Moolenaar call assert_match('\n 0 \d\+.*Xcscope.out\s*<none>', a) 178812ad4f3SBram Moolenaar 179d7ffc0baSBram Moolenaar " Test: cstag and 'csto' option 180812ad4f3SBram Moolenaar set csto=0 181812ad4f3SBram Moolenaar let a = execute('cstag TEST_COUNT') 182812ad4f3SBram Moolenaar call assert_match('(1 of 1): <<TEST_COUNT>> #define TEST_COUNT 50000', a) 183812ad4f3SBram Moolenaar call assert_equal('#define TEST_COUNT 50000', getline('.')) 184*1e469c72SDominique Pelle call assert_fails('cstag DOES_NOT_EXIST', 'E257:') 185812ad4f3SBram Moolenaar set csto=1 186812ad4f3SBram Moolenaar let a = execute('cstag index_to_key') 187812ad4f3SBram Moolenaar call assert_match('(1 of 1): <<index_to_key>> #define index_to_key(i) ((i) ^ 15167)', a) 188812ad4f3SBram Moolenaar call assert_equal('#define index_to_key(i) ((i) ^ 15167)', getline('.')) 189*1e469c72SDominique Pelle call assert_fails('cstag DOES_NOT_EXIST', 'E257:') 190812ad4f3SBram Moolenaar call assert_fails('cstag', 'E562:') 191*1e469c72SDominique Pelle let save_tags = &tags 192*1e469c72SDominique Pelle set tags= 193*1e469c72SDominique Pelle call assert_fails('cstag DOES_NOT_EXIST', 'E257:') 194*1e469c72SDominique Pelle let a = execute('cstag index_to_key') 195*1e469c72SDominique Pelle call assert_match('(1 of 1): <<index_to_key>> #define index_to_key(i) ((i) ^ 15167)', a) 196*1e469c72SDominique Pelle let &tags = save_tags 197812ad4f3SBram Moolenaar 198d7ffc0baSBram Moolenaar " Test: 'cst' option 199812ad4f3SBram Moolenaar set nocst 2009b7bf9e9SBram Moolenaar call assert_fails('tag TEST_COUNT', 'E433:') 201812ad4f3SBram Moolenaar set cst 202812ad4f3SBram Moolenaar let a = execute('tag TEST_COUNT') 203812ad4f3SBram Moolenaar call assert_match('(1 of 1): <<TEST_COUNT>> #define TEST_COUNT 50000', a) 204812ad4f3SBram Moolenaar call assert_equal('#define TEST_COUNT 50000', getline('.')) 205812ad4f3SBram Moolenaar let a = execute('tags') 206812ad4f3SBram Moolenaar call assert_match('1 1 TEST_COUNT\s\+\d\+\s\+#define index_to_key', a) 207812ad4f3SBram Moolenaar 208d7ffc0baSBram Moolenaar " Test: 'cscoperelative' 209d7ffc0baSBram Moolenaar call mkdir('Xcscoperelative') 210d7ffc0baSBram Moolenaar cd Xcscoperelative 211d7ffc0baSBram Moolenaar let a = execute('cs find g test_mf_hash') 212d7ffc0baSBram Moolenaar call assert_notequal('test_mf_hash(void)', getline('.')) 213d7ffc0baSBram Moolenaar set cscoperelative 214d7ffc0baSBram Moolenaar let a = execute('cs find g test_mf_hash') 215d7ffc0baSBram Moolenaar call assert_equal('test_mf_hash(void)', getline('.')) 216d7ffc0baSBram Moolenaar set nocscoperelative 217d7ffc0baSBram Moolenaar cd .. 218d7ffc0baSBram Moolenaar call delete('Xcscoperelative', 'd') 219d7ffc0baSBram Moolenaar 220*1e469c72SDominique Pelle " Test: E259: no match found 221*1e469c72SDominique Pelle call assert_fails('cscope find g DOES_NOT_EXIST', 'E259:') 222*1e469c72SDominique Pelle 223d7ffc0baSBram Moolenaar " Test: this should trigger call to cs_print_tags() 224812ad4f3SBram Moolenaar " Unclear how to check result though, we just exercise the code. 225812ad4f3SBram Moolenaar set cst cscopequickfix=s0 226812ad4f3SBram Moolenaar call feedkeys(":cs find s main\<CR>", 't') 227812ad4f3SBram Moolenaar 228d7ffc0baSBram Moolenaar " Test: cscope kill 229*1e469c72SDominique Pelle call assert_fails('cscope kill', 'E560:') 230812ad4f3SBram Moolenaar call assert_fails('cscope kill 2', 'E261:') 231812ad4f3SBram Moolenaar call assert_fails('cscope kill xxx', 'E261:') 232812ad4f3SBram Moolenaar 233812ad4f3SBram Moolenaar let a = execute('cscope kill 0') 234812ad4f3SBram Moolenaar call assert_match('cscope connection 0 closed', a) 235812ad4f3SBram Moolenaar 236812ad4f3SBram Moolenaar cscope add Xcscope.out 237812ad4f3SBram Moolenaar let a = execute('cscope kill Xcscope.out') 238812ad4f3SBram Moolenaar call assert_match('cscope connection Xcscope.out closed', a) 239812ad4f3SBram Moolenaar 240812ad4f3SBram Moolenaar cscope add Xcscope.out . 241812ad4f3SBram Moolenaar let a = execute('cscope kill -1') 242812ad4f3SBram Moolenaar call assert_match('cscope connection .*Xcscope.out closed', a) 243812ad4f3SBram Moolenaar let a = execute('cscope kill -1') 244812ad4f3SBram Moolenaar call assert_equal('', a) 245812ad4f3SBram Moolenaar 246d7ffc0baSBram Moolenaar " Test: 'csprg' option 247812ad4f3SBram Moolenaar call assert_equal('cscope', &csprg) 248812ad4f3SBram Moolenaar set csprg=doesnotexist 249812ad4f3SBram Moolenaar call assert_fails('cscope add Xcscope2.out', 'E609:') 250812ad4f3SBram Moolenaar set csprg=cscope 251812ad4f3SBram Moolenaar 252d7ffc0baSBram Moolenaar " Test: multiple cscope connections 253812ad4f3SBram Moolenaar cscope add Xcscope.out 254812ad4f3SBram Moolenaar cscope add Xcscope2.out . -C 255812ad4f3SBram Moolenaar let a = execute('cscope show') 256812ad4f3SBram Moolenaar call assert_match('\n 0 \d\+.*Xcscope.out\s*<none>', a) 257812ad4f3SBram Moolenaar call assert_match('\n 1 \d\+.*Xcscope2.out\s*\.', a) 258812ad4f3SBram Moolenaar 259d7ffc0baSBram Moolenaar " Test: test Ex command line completion 260812ad4f3SBram Moolenaar call feedkeys(":cs \<C-A>\<C-B>\"\<CR>", 'tx') 261812ad4f3SBram Moolenaar call assert_equal('"cs add find help kill reset show', @:) 262812ad4f3SBram Moolenaar 263812ad4f3SBram Moolenaar call feedkeys(":scs \<C-A>\<C-B>\"\<CR>", 'tx') 264812ad4f3SBram Moolenaar call assert_equal('"scs find', @:) 265812ad4f3SBram Moolenaar 266812ad4f3SBram Moolenaar call feedkeys(":cs find \<C-A>\<C-B>\"\<CR>", 'tx') 267812ad4f3SBram Moolenaar call assert_equal('"cs find a c d e f g i s t', @:) 268812ad4f3SBram Moolenaar 269812ad4f3SBram Moolenaar call feedkeys(":cs kill \<C-A>\<C-B>\"\<CR>", 'tx') 270812ad4f3SBram Moolenaar call assert_equal('"cs kill -1 0 1', @:) 271812ad4f3SBram Moolenaar 272812ad4f3SBram Moolenaar call feedkeys(":cs add Xcscope\<C-A>\<C-B>\"\<CR>", 'tx') 273812ad4f3SBram Moolenaar call assert_equal('"cs add Xcscope.out Xcscope2.out', @:) 274812ad4f3SBram Moolenaar 275d7ffc0baSBram Moolenaar " Test: cscope_connection() 276812ad4f3SBram Moolenaar call assert_equal(cscope_connection(), 1) 277812ad4f3SBram Moolenaar call assert_equal(cscope_connection(0, 'out'), 1) 278812ad4f3SBram Moolenaar call assert_equal(cscope_connection(0, 'xxx'), 1) 279d7ffc0baSBram Moolenaar 280812ad4f3SBram Moolenaar call assert_equal(cscope_connection(1, 'out'), 1) 281812ad4f3SBram Moolenaar call assert_equal(cscope_connection(1, 'xxx'), 0) 282d7ffc0baSBram Moolenaar 283812ad4f3SBram Moolenaar call assert_equal(cscope_connection(2, 'out'), 0) 284d7ffc0baSBram Moolenaar call assert_equal(cscope_connection(2, getcwd() .. '/Xcscope.out', 1), 1) 285d7ffc0baSBram Moolenaar 286812ad4f3SBram Moolenaar call assert_equal(cscope_connection(3, 'xxx', '..'), 0) 287812ad4f3SBram Moolenaar call assert_equal(cscope_connection(3, 'out', 'xxx'), 0) 288812ad4f3SBram Moolenaar call assert_equal(cscope_connection(3, 'out', '.'), 1) 289d7ffc0baSBram Moolenaar 290812ad4f3SBram Moolenaar call assert_equal(cscope_connection(4, 'out', '.'), 0) 291812ad4f3SBram Moolenaar 292d7ffc0baSBram Moolenaar call assert_equal(cscope_connection(5, 'out'), 0) 293d7ffc0baSBram Moolenaar call assert_equal(cscope_connection(-1, 'out'), 0) 294d7ffc0baSBram Moolenaar 295812ad4f3SBram Moolenaar call CscopeSetupOrClean(0) 2962196bca7SBram Moolenaarendfunc 297812ad4f3SBram Moolenaar 2982196bca7SBram Moolenaar" Test ":cs add {dir}" (add the {dir}/cscope.out database) 2992196bca7SBram Moolenaarfunc Test_cscope_add_dir() 3002196bca7SBram Moolenaar call mkdir('Xcscopedir', 'p') 301320bf2d8SBram Moolenaar 302320bf2d8SBram Moolenaar " Cscope doesn't handle symlinks, so this needs to be resolved in case a 303320bf2d8SBram Moolenaar " shadow directory is being used. 304320bf2d8SBram Moolenaar let memfile = resolve('../memfile_test.c') 305320bf2d8SBram Moolenaar call system('cscope -bk -fXcscopedir/cscope.out ' . memfile) 306320bf2d8SBram Moolenaar 3072196bca7SBram Moolenaar cs add Xcscopedir 3082196bca7SBram Moolenaar let a = execute('cscope show') 3092196bca7SBram Moolenaar let lines = split(a, "\n", 1) 3102196bca7SBram Moolenaar call assert_equal(3, len(lines)) 3112196bca7SBram Moolenaar call assert_equal(' # pid database name prepend path', lines[0]) 3122196bca7SBram Moolenaar call assert_equal('', lines[1]) 3132196bca7SBram Moolenaar call assert_match('^ 0 \d\+.*Xcscopedir/cscope.out\s\+<none>$', lines[2]) 3142196bca7SBram Moolenaar 3152196bca7SBram Moolenaar cs kill -1 3162196bca7SBram Moolenaar call delete('Xcscopedir/cscope.out') 3172196bca7SBram Moolenaar call assert_fails('cs add Xcscopedir', 'E563:') 3182196bca7SBram Moolenaar 3192196bca7SBram Moolenaar call delete('Xcscopedir', 'd') 320812ad4f3SBram Moolenaarendfunc 321812ad4f3SBram Moolenaar 3226d20e175SBram Moolenaarfunc Test_cscopequickfix() 3236d20e175SBram Moolenaar set cscopequickfix=s-,g-,d+,c-,t+,e-,f0,i-,a- 3246d20e175SBram Moolenaar call assert_equal('s-,g-,d+,c-,t+,e-,f0,i-,a-', &cscopequickfix) 3256d20e175SBram Moolenaar 3266d20e175SBram Moolenaar call assert_fails('set cscopequickfix=x-', 'E474:') 3276d20e175SBram Moolenaar call assert_fails('set cscopequickfix=s', 'E474:') 3286d20e175SBram Moolenaar call assert_fails('set cscopequickfix=s7', 'E474:') 3296d20e175SBram Moolenaar call assert_fails('set cscopequickfix=s-a', 'E474:') 3306d20e175SBram Moolenaarendfunc 331edf634e0SBram Moolenaar 332812ad4f3SBram Moolenaarfunc Test_withoutCscopeConnection() 333812ad4f3SBram Moolenaar call assert_equal(cscope_connection(), 0) 334edf634e0SBram Moolenaar 335812ad4f3SBram Moolenaar call assert_fails('cscope find s main', 'E567:') 336edf634e0SBram Moolenaar let a = execute('cscope show') 337812ad4f3SBram Moolenaar call assert_match('no cscope connections', a) 338edf634e0SBram Moolenaarendfunc 339edf634e0SBram Moolenaar 340812ad4f3SBram Moolenaar 341edf634e0SBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab 342