From 2237f9b4623f0fc5c6b4b70e47171a94b6a30bd4 Mon Sep 17 00:00:00 2001 From: w0rp Date: Mon, 10 Aug 2020 02:14:23 +0100 Subject: #2919 Use compile_commands.json for headers --- test/command_callback/test_c_clang_tidy_command_callback.vader | 10 +++------- test/command_callback/test_clang_tidy_command_callback.vader | 9 ++++++--- test/command_callback/test_cpp_clazy_command_callback.vader | 8 +++++--- 3 files changed, 14 insertions(+), 13 deletions(-) (limited to 'test/command_callback') diff --git a/test/command_callback/test_c_clang_tidy_command_callback.vader b/test/command_callback/test_c_clang_tidy_command_callback.vader index 5ebbbd45..c4433550 100644 --- a/test/command_callback/test_c_clang_tidy_command_callback.vader +++ b/test/command_callback/test_c_clang_tidy_command_callback.vader @@ -57,7 +57,7 @@ Execute(The build directory setting should override the options): \ . ' -checks=' . ale#Escape('*') . ' %s' \ . ' -p ' . ale#Escape('/foo/bar') -Execute(The build directory should be ignored for header files): +Execute(The build directory should be used for header files): call ale#test#SetFilename('test.h') let b:ale_c_clangtidy_checks = ['*'] @@ -66,12 +66,8 @@ Execute(The build directory should be ignored for header files): AssertLinter 'clang-tidy', \ ale#Escape('clang-tidy') - \ . ' -checks=' . ale#Escape('*') . ' %s -- -Wall' - - call ale#test#SetFilename('test.h') - - AssertLinter 'clang-tidy', - \ ale#Escape('clang-tidy') . ' -checks=' . ale#Escape('*') . ' %s -- -Wall' + \ . ' -checks=' . ale#Escape('*') . ' %s' + \ . ' -p ' . ale#Escape('/foo/bar') Execute(The executable should be configurable): let b:ale_c_clangtidy_checks = ['*'] diff --git a/test/command_callback/test_clang_tidy_command_callback.vader b/test/command_callback/test_clang_tidy_command_callback.vader index c2d18dea..eb1220be 100644 --- a/test/command_callback/test_clang_tidy_command_callback.vader +++ b/test/command_callback/test_clang_tidy_command_callback.vader @@ -57,7 +57,7 @@ Execute(The build directory setting should override the options): \ . ' -checks=' . ale#Escape('*') . ' %s' \ . ' -p ' . ale#Escape('/foo/bar') -Execute(The build directory should be ignored for header files): +Execute(The build directory should be used for header files): call ale#test#SetFilename('test.h') let b:ale_cpp_clangtidy_checks = ['*'] @@ -66,12 +66,15 @@ Execute(The build directory should be ignored for header files): AssertLinter 'clang-tidy', \ ale#Escape('clang-tidy') - \ . ' -checks=' . ale#Escape('*') . ' %s -- -Wall' + \ . ' -checks=' . ale#Escape('*') . ' %s' + \ . ' -p ' . ale#Escape('/foo/bar') call ale#test#SetFilename('test.hpp') AssertLinter 'clang-tidy', - \ ale#Escape('clang-tidy') . ' -checks=' . ale#Escape('*') . ' %s -- -Wall' + \ ale#Escape('clang-tidy') + \ . ' -checks=' . ale#Escape('*') . ' %s' + \ . ' -p ' . ale#Escape('/foo/bar') Execute(The executable should be configurable): let b:ale_cpp_clangtidy_checks = ['*'] diff --git a/test/command_callback/test_cpp_clazy_command_callback.vader b/test/command_callback/test_cpp_clazy_command_callback.vader index 1be43b96..e5a81b8f 100644 --- a/test/command_callback/test_cpp_clazy_command_callback.vader +++ b/test/command_callback/test_cpp_clazy_command_callback.vader @@ -34,18 +34,20 @@ Execute(The build directory should be configurable): \ ale#Escape('clazy-standalone') \ . ' -checks=' . ale#Escape('level1') . ' -p ' . ale#Escape('/foo/bar') . ' %s' -Execute(The build directory should be ignored for header files): +Execute(The build directory should be used for header files): call ale#test#SetFilename('test.h') let b:ale_c_build_dir = '/foo/bar' AssertLinter 'clazy-standalone', - \ ale#Escape('clazy-standalone') . ' -checks=' . ale#Escape('level1') . ' %s' + \ ale#Escape('clazy-standalone') + \ . ' -checks=' . ale#Escape('level1') . ' -p ' . ale#Escape('/foo/bar') . ' %s' call ale#test#SetFilename('test.hpp') AssertLinter 'clazy-standalone', - \ ale#Escape('clazy-standalone') . ' -checks=' . ale#Escape('level1') . ' %s' + \ ale#Escape('clazy-standalone') + \ . ' -checks=' . ale#Escape('level1') . ' -p ' . ale#Escape('/foo/bar') . ' %s' Execute(The executable should be configurable): let b:ale_cpp_clazy_executable = 'foobar' -- cgit v1.2.3 From d3f410b6f723603bb3bcd121758868deae37ba94 Mon Sep 17 00:00:00 2001 From: w0rp Date: Mon, 10 Aug 2020 02:33:50 +0100 Subject: Fix #1608 - Treat .h as C++ files for C++ clang-tidy --- test/command_callback/test_clang_tidy_command_callback.vader | 1 + 1 file changed, 1 insertion(+) (limited to 'test/command_callback') diff --git a/test/command_callback/test_clang_tidy_command_callback.vader b/test/command_callback/test_clang_tidy_command_callback.vader index eb1220be..f0a07e8c 100644 --- a/test/command_callback/test_clang_tidy_command_callback.vader +++ b/test/command_callback/test_clang_tidy_command_callback.vader @@ -68,6 +68,7 @@ Execute(The build directory should be used for header files): \ ale#Escape('clang-tidy') \ . ' -checks=' . ale#Escape('*') . ' %s' \ . ' -p ' . ale#Escape('/foo/bar') + \ . ' -- -x c++' call ale#test#SetFilename('test.hpp') -- cgit v1.2.3 From 506a8532d07fd7e15e9a6cc37d490f7b7088aef5 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Sun, 10 May 2020 08:21:02 -0400 Subject: rust/cargo: add support for a custom target directory This can avoid having to wait for ALE or ALE being blocked on other cargo actions within the same crate. --- .../test_cargo_command_callbacks.vader | 24 ++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'test/command_callback') diff --git a/test/command_callback/test_cargo_command_callbacks.vader b/test/command_callback/test_cargo_command_callbacks.vader index e56551ae..2d83351e 100644 --- a/test/command_callback/test_cargo_command_callbacks.vader +++ b/test/command_callback/test_cargo_command_callbacks.vader @@ -169,10 +169,11 @@ Execute(Build supports all cargo flags): let g:ale_rust_cargo_check_tests = 1 let g:ale_rust_cargo_check_examples = 1 let b:ale_rust_cargo_default_feature_behavior = 'all' + let b:ale_rust_cargo_target_dir = 'target/ale' AssertLinter 'cargo', [ \ ale#Escape('cargo') . ' --version', - \ 'cargo build --all-targets --examples --tests --frozen --message-format=json -q --all-features', + \ 'cargo build --all-targets --examples --tests --target-dir ' . ale#Escape('target/ale') . ' --frozen --message-format=json -q --all-features', \] Execute(Clippy supports all cargo flags): @@ -182,10 +183,11 @@ Execute(Clippy supports all cargo flags): let g:ale_rust_cargo_check_examples = 1 let b:ale_rust_cargo_default_feature_behavior = 'all' let b:ale_rust_cargo_clippy_options = '-D warnings' + let b:ale_rust_cargo_target_dir = 'target/ale' AssertLinter 'cargo', [ \ ale#Escape('cargo') . ' --version', - \ 'cargo clippy --all-targets --examples --tests --frozen --message-format=json -q --all-features -- -D warnings', + \ 'cargo clippy --all-targets --examples --tests --target-dir ' . ale#Escape('target/ale') . ' --frozen --message-format=json -q --all-features -- -D warnings', \] Execute(cargo-check does not refer ale_rust_cargo_clippy_options): @@ -197,3 +199,21 @@ Execute(cargo-check does not refer ale_rust_cargo_clippy_options): \ ale#Escape('cargo') . ' --version', \ 'cargo check --frozen --message-format=json -q', \] + +Execute(`cargo --target-dir` should be used when the version is new enough and it is set): + let b:ale_rust_cargo_target_dir = 'target/ale' + + GivenCommandOutput ['cargo 0.17.0 (3423351a5 2017-10-06)'] + AssertLinter 'cargo', [ + \ ale#Escape('cargo') . ' --version', + \ 'cargo check --target-dir ' . ale#Escape('target/ale') . g:suffix, + \] + +Execute(`cargo --target-dir` should not be used when the version is not new enough and it is set): + let b:ale_rust_cargo_target_dir = 'target/ale' + + GivenCommandOutput ['cargo 0.16.0 (3423351a5 2017-10-06)'] + AssertLinter 'cargo', [ + \ ale#Escape('cargo') . ' --version', + \ 'cargo build' . g:suffix, + \] -- cgit v1.2.3