diff options
author | javad <uidopsu@gmail.com> | 2023-02-09 05:19:24 +0330 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-09 10:49:24 +0900 |
commit | f78e9d634f9c1177031d4bdeda93f98d63b6bc12 (patch) | |
tree | 6e3eaab73797ff565994d6ef6435454d31e02565 /test | |
parent | ae2d47ba831043e34fcd9547c41a76a4800992b8 (diff) | |
download | ale-f78e9d634f9c1177031d4bdeda93f98d63b6bc12.zip |
Add support for llvm-mc as an assembly linter (#4446)
Diffstat (limited to 'test')
-rw-r--r-- | test/handler/test_llvm_mc_handler.vader | 28 | ||||
-rw-r--r-- | test/linter/test_llvm_mc.vader | 19 |
2 files changed, 47 insertions, 0 deletions
diff --git a/test/handler/test_llvm_mc_handler.vader b/test/handler/test_llvm_mc_handler.vader new file mode 100644 index 00000000..e38ca304 --- /dev/null +++ b/test/handler/test_llvm_mc_handler.vader @@ -0,0 +1,28 @@ +Before: + runtime ale_linters/asm/llvm_mc.vim + +After: + call ale#linter#Reset() + +Execute(The asm llvm-mc handler should parse lines correctly): + + AssertEqual + \ [ + \ { + \ 'lnum': 10, + \ 'col' : 15, + \ 'text': "invalid operand for instruction", + \ 'type': 'E', + \ }, + \ { + \ 'lnum': 11, + \ 'col' : 2, + \ 'text': "invalid instruction mnemonic 'lpaq'", + \ 'type': 'E', + \ }, + \ ], + \ ale_linters#asm#llvm_mc#Handle(357, [ + \ "xorq %rbp, %rbp", + \ "{standard_input}:10:15: error: invalid operand for instruction", + \ "{standard input}:11:2: error: invalid instruction mnemonic 'lpaq'", + \ ]) diff --git a/test/linter/test_llvm_mc.vader b/test/linter/test_llvm_mc.vader new file mode 100644 index 00000000..6d896b26 --- /dev/null +++ b/test/linter/test_llvm_mc.vader @@ -0,0 +1,19 @@ +Before: + call ale#assert#SetUpLinterTest('asm', 'llvm_mc') + call ale#test#SetFilename('test.cpp') + let b:command_tail = ' --assemble' + \ . ' --filetype=asm' + \ . ' -o ' . (has('win32') ? 'nul': '/dev/null') + \ . ' ' + +After: + unlet! b:command_tail + + call ale#assert#TearDownLinterTest() + +Execute(The executable should be configurable): + AssertLinter 'llvm-mc', ale#Escape('llvm-mc') . b:command_tail + + let b:ale_asm_llvm_mc_executable = 'foobar' + + AssertLinter 'foobar', ale#Escape('foobar') . b:command_tail |