tests: discover fakeroot and complain if it isn't available

Change-Id: Iae86dbdb12b37a481961cdd9db26b083d8c137ee
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3691d43..ffc9230 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -184,6 +184,13 @@
         message(FATAL_ERROR "Unable to find netopeer2-server, set NETOPEER2_EXECUTABLE manually.")
     endif()
 
+    if (NOT FAKEROOT_EXECUTABLE)
+        find_program(FAKEROOT_EXECUTABLE fakeroot)
+    endif()
+    if (NOT FAKEROOT_EXECUTABLE)
+        message(FATAL_ERROR "Unable to find fakeroot, set FAKEROOT_EXECUTABLE manually.")
+    endif()
+
     set(NETOPEER_SOCKET_PATH "${CMAKE_CURRENT_BINARY_DIR}/netopeer2-server.sock")
     configure_file(${CMAKE_CURRENT_SOURCE_DIR}/start_daemons.sh.in ${CMAKE_CURRENT_BINARY_DIR}/start_daemons.sh @ONLY)
     configure_file(${CMAKE_CURRENT_SOURCE_DIR}/netopeer_vars.hpp.in ${CMAKE_CURRENT_BINARY_DIR}/netopeer_vars.hpp @ONLY)
@@ -230,7 +237,7 @@
     datastore_test(sysrepo sysrepo.cpp ${CMAKE_CURRENT_SOURCE_DIR}/example-schema.yang)
     target_link_libraries(test_sysrepo sysrepoaccess yangschema)
     datastore_test(netconf sysrepo.cpp ${CMAKE_CURRENT_SOURCE_DIR}/example-schema.yang)
-    add_test(NAME start_daemons COMMAND fakeroot ${CMAKE_CURRENT_BINARY_DIR}/start_daemons.sh)
+    add_test(NAME start_daemons COMMAND ${FAKEROOT_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/start_daemons.sh)
     add_test(NAME setup_netopeer COMMAND ${SYSREPOCFG_EXECUTABLE} ietf-netconf-server -i ${CMAKE_CURRENT_SOURCE_DIR}/netopeer-test-config --datastore=startup --format=xml)
     add_test(NAME kill_daemons COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/kill_daemons.sh)
     set_tests_properties(setup_netopeer PROPERTIES DEPENDS test_sysrepo_cleanup)