diff options
author | Marco Hinz <mh.codebro@gmail.com> | 2015-11-17 13:16:33 +0100 |
---|---|---|
committer | Marco Hinz <mh.codebro@gmail.com> | 2015-11-23 13:57:21 +0100 |
commit | 818f926eb0ad1cdb3ca60a9f08682b50df4094e3 (patch) | |
tree | 6f40448518730054ed5c9c6425ee18ec7c9f18ee | |
parent | 4680b4f3b12f9ff69abbd56202a5590f155cdb65 (diff) | |
download | rneovim-818f926eb0ad1cdb3ca60a9f08682b50df4094e3.tar.gz rneovim-818f926eb0ad1cdb3ca60a9f08682b50df4094e3.tar.bz2 rneovim-818f926eb0ad1cdb3ca60a9f08682b50df4094e3.zip |
Tests: add luacheck for linting tests
Source: https://github.com/mpeterv/luacheck
Docs: http://luacheck.readthedocs.org/en/0.12.0/index.html
Run via "make testlint".
-rw-r--r-- | CMakeLists.txt | 10 | ||||
-rw-r--r-- | Makefile | 5 | ||||
-rw-r--r-- | cmake/RunTestsLint.cmake | 11 | ||||
-rw-r--r-- | test/.luacheckrc | 4 | ||||
-rw-r--r-- | third-party/cmake/BuildLuarocks.cmake | 11 |
5 files changed, 38 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index f11b9995c0..0633744e97 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -366,6 +366,8 @@ if(NOT BUSTED_OUTPUT_TYPE) set(BUSTED_OUTPUT_TYPE "utfTerminal") endif() +find_program(LUACHECK_PRG luacheck) + include(InstallHelpers) file(GLOB MANPAGES @@ -456,3 +458,11 @@ if(BUSTED_PRG) -P ${PROJECT_SOURCE_DIR}/cmake/RunTests.cmake DEPENDS ${BENCHMARK_PREREQS}) endif() + +if(LUACHECK_PRG) + add_custom_target(testlint + COMMAND ${CMAKE_COMMAND} + -DLUACHECK_PRG=${LUACHECK_PRG} + -DTEST_DIR=${CMAKE_CURRENT_SOURCE_DIR}/test + -P ${PROJECT_SOURCE_DIR}/cmake/RunTestsLint.cmake) +endif() @@ -86,6 +86,9 @@ oldtest: | nvim functionaltest: | nvim +$(BUILD_CMD) -C build functionaltest +testlint: | nvim + $(BUILD_CMD) -C build testlint + test: functionaltest unittest: | nvim @@ -110,4 +113,4 @@ lint: -DLINT_SUPPRESS_URL="$(DOC_DOWNLOAD_URL_BASE)$(CLINT_ERRORS_FILE_PATH)" \ -P cmake/RunLint.cmake -.PHONY: test functionaltest unittest lint clean distclean nvim libnvim cmake deps install +.PHONY: test testlint functionaltest unittest lint clean distclean nvim libnvim cmake deps install diff --git a/cmake/RunTestsLint.cmake b/cmake/RunTestsLint.cmake new file mode 100644 index 0000000000..cf5465803e --- /dev/null +++ b/cmake/RunTestsLint.cmake @@ -0,0 +1,11 @@ +execute_process( + COMMAND ${LUACHECK_PRG} -q ${TEST_DIR} + WORKING_DIRECTORY ${TEST_DIR} + ERROR_VARIABLE err + RESULT_VARIABLE res + ${EXTRA_ARGS}) + +if(NOT res EQUAL 0) + message(STATUS "Output to stderr:\n${err}") + message(FATAL_ERROR "Linting tests failed with error: ${res}.") +endif() diff --git a/test/.luacheckrc b/test/.luacheckrc new file mode 100644 index 0000000000..c9522b1117 --- /dev/null +++ b/test/.luacheckrc @@ -0,0 +1,4 @@ +-- vim: ft=lua + +std = '+luajit +busted' +cache = true diff --git a/third-party/cmake/BuildLuarocks.cmake b/third-party/cmake/BuildLuarocks.cmake index 09578ff770..f3e5a96220 100644 --- a/third-party/cmake/BuildLuarocks.cmake +++ b/third-party/cmake/BuildLuarocks.cmake @@ -121,12 +121,19 @@ if(USE_BUNDLED_BUSTED) add_custom_target(busted DEPENDS ${HOSTDEPS_BIN_DIR}/busted) + add_custom_command(OUTPUT ${HOSTDEPS_BIN_DIR}/luacheck + COMMAND ${LUAROCKS_BINARY} + ARGS build https://raw.githubusercontent.com/mpeterv/luacheck/0.12.0/luacheck-scm-1.rockspec ${LUAROCKS_BUILDARGS} + DEPENDS busted) + add_custom_target(luacheck + DEPENDS ${HOSTDEPS_BIN_DIR}/luacheck) + add_custom_command(OUTPUT ${HOSTDEPS_LIB_DIR}/luarocks/rocks/nvim-client COMMAND ${LUAROCKS_BINARY} ARGS build https://raw.githubusercontent.com/neovim/lua-client/0.0.1-14/nvim-client-0.0.1-14.rockspec ${LUAROCKS_BUILDARGS} LIBUV_DIR=${HOSTDEPS_INSTALL_DIR} - DEPENDS busted libuv) + DEPENDS luacheck libuv) add_custom_target(nvim-client DEPENDS ${HOSTDEPS_LIB_DIR}/luarocks/rocks/nvim-client) - list(APPEND THIRD_PARTY_DEPS busted nvim-client) + list(APPEND THIRD_PARTY_DEPS busted luacheck nvim-client) endif() |