Include: include/setup.vader Execute (erlc: common settings): new file src/myapp.erl let args = neomake#makers#ft#erlang#GlobPaths() AssertEqual args[:-2], ['-pa', 'ebin', '-I', 'include', '-I', 'src', '-o'] let output_dir = args[-1] Assert isdirectory(output_dir) bwipe Execute (erlc: output to _build/neomake if _build is present): let old_cwd = getcwd() try let root = tempname() call mkdir(root, 'p') execute 'cd ' . root call mkdir('_build', 'p') new file src/myapp.erl let args = neomake#makers#ft#erlang#GlobPaths() let output_dir = args[-1] Assert output_dir =~# '/_build/neomake$' Assert isdirectory(output_dir) bwipe finally execute 'cd ' . old_cwd endtry Execute (erlc: rebar3 default profile - no rebar.config): let old_cwd = getcwd() try let root = tempname() call mkdir(root, 'p') execute 'cd ' . root call mkdir('_build/default/lib/dep1/ebin', 'p') new file src/myapp.erl let args = neomake#makers#ft#erlang#GlobPaths() let dep1_ebin_opt = args[6:7] let dep1_include_opt = args[8:9] AssertEqual ['-pa', root . '/_build/default/lib/dep1/ebin'], dep1_ebin_opt AssertEqual ['-I', root . '/_build/default/lib/dep1/include'], dep1_include_opt bwipe finally execute 'cd ' . old_cwd endtry Execute (erlc: rebar3 default profile): let old_cwd = getcwd() try let root = tempname() call mkdir(root, 'p') execute 'cd ' . root call mkdir('_build/default/lib/dep1/ebin', 'p') write rebar.config bwipe rebar.config new file src/myapp.erl let args = neomake#makers#ft#erlang#GlobPaths() let dep1_ebin_opt = args[6:7] let dep1_include_opt = args[8:9] AssertEqual ['-pa', root . '/_build/default/lib/dep1/ebin'], dep1_ebin_opt AssertEqual ['-I', root . '/_build/default/lib/dep1/include'], dep1_include_opt bwipe finally execute 'cd ' . old_cwd endtry Execute (erlc: rebar3 test profile): let old_cwd = getcwd() try let root = tempname() call mkdir(root, 'p') execute 'cd ' . root call mkdir('_build/test/lib/dep1/ebin', 'p') new file test/myapp_SUITE.erl let args = neomake#makers#ft#erlang#GlobPaths() let dep1_ebin_opt = args[6:7] let dep1_include_opt = args[8:9] AssertEqual ['-pa', root . '/_build/test/lib/dep1/ebin'], dep1_ebin_opt AssertEqual ['-I', root . '/_build/test/lib/dep1/include'], dep1_include_opt bwipe finally execute 'cd ' . old_cwd endtry Execute (erlc: rebar2/erlang.mk deps/ present): let old_cwd = getcwd() try let root = tempname() call mkdir(root, 'p') execute 'cd ' . root call mkdir('deps/dep1/ebin', 'p') new file src/myapp.erl let args = neomake#makers#ft#erlang#GlobPaths() let dep1_ebin_opt = args[6:7] let dep1_include_opt = args[8:9] AssertEqual ['-pa', root . '/deps/dep1/ebin'], dep1_ebin_opt AssertEqual ['-I', root . '/deps/dep1/include'], dep1_include_opt bwipe finally execute 'cd ' . old_cwd endtry Execute (erlc: buffer local extra deps): let old_cwd = getcwd() try let root = tempname() call mkdir(root, 'p') execute 'cd ' . root call mkdir('deps.local/dep1/ebin', 'p') new file src/myapp.erl let b:neomake_erlang_erlc_extra_deps = ['deps.local'] let args = neomake#makers#ft#erlang#GlobPaths() let dep1_ebin_opt = args[6:7] let dep1_include_opt = args[8:9] AssertEqual ['-pa', 'deps.local/dep1/ebin'], dep1_ebin_opt AssertEqual ['-I', 'deps.local/dep1/include'], dep1_include_opt bwipe finally execute 'cd ' . old_cwd endtry Execute (erlc: buffer local profile override): let old_cwd = getcwd() try let root = tempname() call mkdir(root, 'p') execute 'cd ' . root call mkdir('_build/test/lib/dep1/ebin', 'p') new file config/not_a_SUITE_file.erl let b:neomake_erlang_erlc_rebar3_profile = 'test' let args = neomake#makers#ft#erlang#GlobPaths() let dep1_ebin_opt = args[6:7] let dep1_include_opt = args[8:9] AssertEqual ['-pa', root . '/_build/test/lib/dep1/ebin'], dep1_ebin_opt AssertEqual ['-I', root . '/_build/test/lib/dep1/include'], dep1_include_opt bwipe finally execute 'cd ' . old_cwd endtry