diff --git a/tools/lint/CMakeLists.txt b/tools/lint/CMakeLists.txt
index 1ce072b..2693ea2 100644
--- a/tools/lint/CMakeLists.txt
+++ b/tools/lint/CMakeLists.txt
@@ -51,10 +51,18 @@
 # tests
 #
 function(add_yanglint_test)
-    cmake_parse_arguments(ADDTEST "" "NAME;SCRIPT" "" ${ARGN})
+    cmake_parse_arguments(ADDTEST "" "NAME;VIA;SCRIPT" "" ${ARGN})
     set(TEST_NAME yanglint_${ADDTEST_NAME})
 
-    add_test(NAME ${TEST_NAME} COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tests/${ADDTEST_SCRIPT})
+    if(${ADDTEST_VIA} STREQUAL "bash")
+        set(WRAPPER /usr/bin/env bash)
+    elseif(${ADDTEST_VIA} STREQUAL "expect")
+        set(WRAPPER ${PATH_EXPECT})
+    else()
+        message(FATAL_ERROR "build: unexpected wrapper '${ADDTEST_VIA}'")
+    endif()
+
+    add_test(NAME ${TEST_NAME} COMMAND ${WRAPPER} ${CMAKE_CURRENT_SOURCE_DIR}/tests/${ADDTEST_SCRIPT})
     set_property(TEST ${TEST_NAME} APPEND PROPERTY ENVIRONMENT "YANGLINT=${PROJECT_BINARY_DIR}/yanglint")
     set_property(TEST ${TEST_NAME} APPEND PROPERTY ENVIRONMENT "YANG_MODULES_DIR=${PROJECT_SOURCE_DIR}/tests/modules/yang")
 endfunction(add_yanglint_test)
@@ -65,8 +73,8 @@
     if(NOT PATH_SHUNIT)
         message(WARNING "'shunit2' not found! The yanglint(1) non-interactive tests will not be available.")
     else()
-        add_yanglint_test(NAME ni_list SCRIPT shunit2/list.sh)
-        add_yanglint_test(NAME ni_feature SCRIPT shunit2/feature.sh)
+        add_yanglint_test(NAME ni_list VIA bash SCRIPT shunit2/list.sh)
+        add_yanglint_test(NAME ni_feature VIA bash SCRIPT shunit2/feature.sh)
     endif()
 
     # tests of interactive mode using expect
@@ -74,7 +82,7 @@
     if(NOT PATH_EXPECT)
         message(WARNING "'expect' not found! The yanglint(1) interactive tests will not be available.")
     elseif(YANGLINT_INTERACTIVE)
-        add_yanglint_test(NAME in_list SCRIPT expect/list.exp)
-        add_yanglint_test(NAME in_feature SCRIPT expect/feature.exp)
+        add_yanglint_test(NAME in_list VIA expect SCRIPT expect/list.exp)
+        add_yanglint_test(NAME in_feature VIA expect SCRIPT expect/feature.exp)
     endif()
 endif()
