summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorTomas Janousek <tomi@nomi.cz>2020-04-18 13:15:32 +0200
committerTomas Janousek <tomi@nomi.cz>2020-04-18 13:57:57 +0200
commit4fbfcc9dec06feae5643df3b7b153b2329f7c1da (patch)
tree8c6dbeb09304002f6ffa791031624e99d05c219d /test
parent82f734a7c286d8705c9a6e2879b4173fe18a6356 (diff)
downloadale-4fbfcc9dec06feae5643df3b7b153b2329f7c1da.zip
ccls: Detect build dir and set compilationDatabaseDirectory
Fixes #2621
Diffstat (limited to 'test')
-rw-r--r--test/command_callback/ccls_paths/with_build_dir/unusual_build_dir_name/compile_commands.json0
-rw-r--r--test/command_callback/test_c_ccls_command_callbacks.vader20
-rw-r--r--test/command_callback/test_cpp_ccls_command_callbacks.vader20
-rw-r--r--test/command_callback/test_objc_ccls_command_callbacks.vader20
4 files changed, 60 insertions, 0 deletions
diff --git a/test/command_callback/ccls_paths/with_build_dir/unusual_build_dir_name/compile_commands.json b/test/command_callback/ccls_paths/with_build_dir/unusual_build_dir_name/compile_commands.json
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/test/command_callback/ccls_paths/with_build_dir/unusual_build_dir_name/compile_commands.json
diff --git a/test/command_callback/test_c_ccls_command_callbacks.vader b/test/command_callback/test_c_ccls_command_callbacks.vader
index 43fdb366..04643d02 100644
--- a/test/command_callback/test_c_ccls_command_callbacks.vader
+++ b/test/command_callback/test_c_ccls_command_callbacks.vader
@@ -4,6 +4,10 @@
Before:
call ale#assert#SetUpLinterTest('c', 'ccls')
+ Save b:ale_c_build_dir_names
+ Save b:ale_c_ccls_executable
+ Save b:ale_c_ccls_init_options
+
After:
call ale#assert#TearDownLinterTest()
@@ -47,3 +51,19 @@ Execute(The initialization options should be configurable):
let b:ale_c_ccls_init_options = { 'cacheDirectory': '/tmp/ccls' }
AssertLSPOptions { 'cacheDirectory': '/tmp/ccls' }
+
+Execute(The compile command database should be detected correctly):
+ call ale#test#SetFilename('ccls_paths/with_ccls/dummy.c')
+
+ AssertLSPOptions {}
+
+ call ale#test#SetFilename('ccls_paths/with_compile_commands_json/dummy.c')
+
+ AssertLSPOptions { 'compilationDatabaseDirectory':
+ \ ale#path#Simplify(g:dir . '/ccls_paths/with_compile_commands_json') }
+
+ call ale#test#SetFilename('ccls_paths/with_build_dir/dummy.c')
+ let b:ale_c_build_dir_names = ['unusual_build_dir_name']
+
+ AssertLSPOptions { 'compilationDatabaseDirectory':
+ \ ale#path#Simplify(g:dir . '/ccls_paths/with_build_dir/unusual_build_dir_name') }
diff --git a/test/command_callback/test_cpp_ccls_command_callbacks.vader b/test/command_callback/test_cpp_ccls_command_callbacks.vader
index eece42bc..f603ac07 100644
--- a/test/command_callback/test_cpp_ccls_command_callbacks.vader
+++ b/test/command_callback/test_cpp_ccls_command_callbacks.vader
@@ -4,6 +4,10 @@
Before:
call ale#assert#SetUpLinterTest('cpp', 'ccls')
+ Save b:ale_c_build_dir_names
+ Save b:ale_cpp_ccls_executable
+ Save b:ale_cpp_ccls_init_options
+
After:
call ale#assert#TearDownLinterTest()
@@ -47,3 +51,19 @@ Execute(The initialization options should be configurable):
let b:ale_cpp_ccls_init_options = { 'cacheDirectory': '/tmp/ccls' }
AssertLSPOptions { 'cacheDirectory': '/tmp/ccls' }
+
+Execute(The compile command database should be detected correctly):
+ call ale#test#SetFilename('ccls_paths/with_ccls/dummy.c')
+
+ AssertLSPOptions {}
+
+ call ale#test#SetFilename('ccls_paths/with_compile_commands_json/dummy.c')
+
+ AssertLSPOptions { 'compilationDatabaseDirectory':
+ \ ale#path#Simplify(g:dir . '/ccls_paths/with_compile_commands_json') }
+
+ call ale#test#SetFilename('ccls_paths/with_build_dir/dummy.c')
+ let b:ale_c_build_dir_names = ['unusual_build_dir_name']
+
+ AssertLSPOptions { 'compilationDatabaseDirectory':
+ \ ale#path#Simplify(g:dir . '/ccls_paths/with_build_dir/unusual_build_dir_name') }
diff --git a/test/command_callback/test_objc_ccls_command_callbacks.vader b/test/command_callback/test_objc_ccls_command_callbacks.vader
index 5aa69d6a..34b8539e 100644
--- a/test/command_callback/test_objc_ccls_command_callbacks.vader
+++ b/test/command_callback/test_objc_ccls_command_callbacks.vader
@@ -1,6 +1,10 @@
Before:
call ale#assert#SetUpLinterTest('objc', 'ccls')
+ Save b:ale_c_build_dir_names
+ Save b:ale_objc_ccls_executable
+ Save b:ale_objc_ccls_init_options
+
After:
call ale#assert#TearDownLinterTest()
@@ -44,3 +48,19 @@ Execute(The initialization options should be configurable):
let b:ale_objc_ccls_init_options = { 'cacheDirectory': '/tmp/ccls' }
AssertLSPOptions { 'cacheDirectory': '/tmp/ccls' }
+
+Execute(The compile command database should be detected correctly):
+ call ale#test#SetFilename('ccls_paths/with_ccls/dummy.c')
+
+ AssertLSPOptions {}
+
+ call ale#test#SetFilename('ccls_paths/with_compile_commands_json/dummy.c')
+
+ AssertLSPOptions { 'compilationDatabaseDirectory':
+ \ ale#path#Simplify(g:dir . '/ccls_paths/with_compile_commands_json') }
+
+ call ale#test#SetFilename('ccls_paths/with_build_dir/dummy.c')
+ let b:ale_c_build_dir_names = ['unusual_build_dir_name']
+
+ AssertLSPOptions { 'compilationDatabaseDirectory':
+ \ ale#path#Simplify(g:dir . '/ccls_paths/with_build_dir/unusual_build_dir_name') }