travis-ci build CMake project

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
This commit is contained in:
Toni Uhlig
2021-04-15 10:18:59 +02:00
parent 0c034ffba1
commit a0fa598cee
5 changed files with 31 additions and 14 deletions

View File

@@ -13,4 +13,11 @@ script:
- env python3 --version
- test/run_tests.sh nDPI
- make -f Makefile.old clean
# pkg-config build
- PKG_CONFIG_PATH="$(realpath ./nDPI/_install/lib/pkgconfig)" make -f Makefile.old PKG_CONFIG_BIN=pkg-config ENABLE_DEBUG=yes ENABLE_SANITIZER=yes all examples
- ./nDPId-test || test $? -eq 1
- ./nDPId -h || test $? -eq 1
# cmake/pkg-config build
- mkdir -p build && cd build && PKG_CONFIG_PATH="$(realpath ../nDPI/_install/lib/pkgconfig)" cmake .. -DCMAKE_INSTALL_PREFIX=$(realpath ../_install) -DBUILD_EXAMPLES=ON -DENABLE_MEMORY_PROFILING=ON -DENABLE_SANITIZER=ON && make install
- cd build && ./nDPId-test || test $? -eq 1
- cd build && ./nDPId -h || test $? -eq 1

View File

@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.13)
cmake_minimum_required(VERSION 3.12.4)
project(nDPId C)
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
find_package(PkgConfig REQUIRED)

View File

@@ -308,26 +308,31 @@ int main(int argc, char ** argv)
if (argc != 2)
{
usage(argv[0]);
return -1;
return 1;
}
if (signal(SIGPIPE, SIG_IGN) == SIG_ERR)
{
return -1;
return 1;
}
nDPId_options.reader_thread_count = 1; /* Please do not change this! Generating meaningful pcap diff's relies on a
single reader thread! */
nDPId_options.instance_alias = strdup("nDPId-test");
if (access(argv[1], R_OK) != 0)
{
fprintf(stderr, "%s: pcap file `%s' does not exist or is not readable\n", argv[0], argv[1]);
return 1;
}
nDPId_options.pcap_file_or_interface = strdup(argv[1]);
if (validate_options(argv[0]) != 0)
{
return -1;
return 1;
}
if (setup_pipe(mock_pipefds) != 0 || setup_pipe(mock_servfds) != 0)
{
return -1;
return 1;
}
/* We do not have any sockets, any socket operation must fail! */
@@ -336,28 +341,28 @@ int main(int argc, char ** argv)
if (setup_remote_descriptors(MAX_REMOTE_DESCRIPTORS) != 0)
{
return -1;
return 1;
}
pthread_t nDPId_thread;
struct thread_return_value nDPId_return = {};
if (pthread_create(&nDPId_thread, NULL, nDPId_mainloop_thread, &nDPId_return) != 0)
{
return -1;
return 1;
}
pthread_t nDPIsrvd_thread;
struct thread_return_value nDPIsrvd_return = {};
if (pthread_create(&nDPIsrvd_thread, NULL, nDPIsrvd_mainloop_thread, &nDPIsrvd_return) != 0)
{
return -1;
return 1;
}
pthread_t distributor_thread;
struct thread_return_value distributor_return = {};
if (pthread_create(&distributor_thread, NULL, distributor_client_mainloop_thread, &distributor_return) != 0)
{
return -1;
return 1;
}
/* Try to gracefully shutdown all threads. */
@@ -366,7 +371,7 @@ int main(int argc, char ** argv)
{
if (THREADS_RETURNED_ERROR() != 0)
{
return -1;
return 1;
}
}
@@ -374,7 +379,7 @@ int main(int argc, char ** argv)
{
if (THREADS_RETURNED_ERROR() != 0)
{
return -1;
return 1;
}
}
@@ -382,7 +387,7 @@ int main(int argc, char ** argv)
{
if (THREADS_RETURNED_ERROR() != 0)
{
return -1;
return 1;
}
}

View File

@@ -879,19 +879,18 @@ int main(int argc, char ** argv)
}
syslog(LOG_DAEMON, "collector listen on %s", nDPIsrvd_options.json_sockpath);
syslog(LOG_DAEMON, "distributor listen on %s", nDPIsrvd_options.serv_optarg);
switch (serv_address.raw.sa_family)
{
default:
goto error;
case AF_INET:
case AF_INET6:
syslog(LOG_DAEMON, "distributor listen on %s", nDPIsrvd_options.serv_optarg);
syslog(LOG_DAEMON | LOG_ERR,
"Please keep in mind that using a TCP Socket may leak sensitive information to "
"everyone with access to the device/network. You've been warned!");
break;
case AF_UNIX:
syslog(LOG_DAEMON, "distributor listen on %s", nDPIsrvd_options.json_sockpath);
break;
}

View File

@@ -68,6 +68,12 @@ mkdir -p /tmp/nDPId-test-stderr
set +e
TESTS_FAILED=0
${nDPId_test_EXEC} -h 2>/dev/null
if [ $? -ne 1 ]; then
printf '%s\n' "nDPId-test: ${nDPId_test_EXEC} seems to be an invalid executable"
exit 7
fi
for pcap_file in $(ls *.pcap *.pcapng *.cap); do
if file "${pcap_file}" | grep -qoE ':\s(pcap|pcap-ng) capture file'; then
true # pass