Merge changes Ia9b72347,I1937c4fc,Iae86dbdb

* changes:
  tests: More robust daemon killing
  tests: Fix daemon startup with non-standard paths
  tests: discover fakeroot and complain if it isn't available
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)
diff --git a/kill_daemons.sh b/kill_daemons.sh
index 81f1fb0..8c9ea91 100755
--- a/kill_daemons.sh
+++ b/kill_daemons.sh
@@ -1,3 +1,8 @@
-pkill sysrepod
-pkill sysrepo-plugind
-pkill netopeer2-serve
+set -eux -o pipefail
+shopt -s failglob
+
+RET=0
+pkill -9 netopeer2 || RET=$?
+pkill -9 sysrepo-plugind || RET=$?
+pkill -9 sysrepod || RET=$?
+exit $RET
diff --git a/start_daemons.sh.in b/start_daemons.sh.in
index a4c428e..26fb497 100755
--- a/start_daemons.sh.in
+++ b/start_daemons.sh.in
@@ -2,9 +2,12 @@
 shopt -s failglob
 export ASAN_OPTIONS=verify_asan_link_order=false
 export UBSAN_OPTIONS=halt_on_error=1
-sysrepod -l3
+
+./kill_daemons.sh || true
+
+@SYSREPOD_EXECUTABLE@ -l3
 sleep 1
-sysrepo-plugind -l3
+@SYSREPO_PLUGIND_EXECUTABLE@ -l3
 sleep 1
-netopeer2-server -U -v2 -s @NETOPEER_SOCKET_PATH@
+@NETOPEER2_EXECUTABLE@ -U -v2 -s @NETOPEER_SOCKET_PATH@
 sleep 5