[hamradio-commits] [gnss-sdr] 184/303: Add example of gnss-sim usage
Carles Fernandez
carles_fernandez-guest at moszumanska.debian.org
Mon Feb 13 22:35:59 UTC 2017
This is an automated email from the git hooks/post-receive script.
carles_fernandez-guest pushed a commit to branch master
in repository gnss-sdr.
commit dda18336468f470d837800dd976c5b13a316ed8a
Author: Carles Fernandez <carlesfernandez at gmail.com>
Date: Tue Dec 20 21:43:19 2016 +0100
Add example of gnss-sim usage
---
src/tests/CMakeLists.txt | 40 +++++++++++++++++++++++++++++--
src/tests/system-tests/trk_system_test.cc | 37 ++++++++++++++++++++++++++++
2 files changed, 75 insertions(+), 2 deletions(-)
diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt
index a62f113..74e6556 100644
--- a/src/tests/CMakeLists.txt
+++ b/src/tests/CMakeLists.txt
@@ -35,15 +35,18 @@ if(GTEST_INCLUDE_DIRS)
set(GTEST_DIR_LOCAL true)
endif(GTEST_INCLUDE_DIRS)
+set(GTEST_COMPILER -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER})
+set(TOOLCHAIN_ARG "")
+
if(NOT ${GTEST_DIR_LOCAL})
# if GTEST_DIR is not defined, we download and build it
set(gtest_RELEASE 1.8.0)
- set(TOOLCHAIN_ARG "")
- set(GTEST_COMPILER -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER})
+
if(EXISTS $ENV{OECORE_TARGET_SYSROOT})
set(GTEST_COMPILER "")
set(TOOLCHAIN_ARG -DCMAKE_TOOLCHAIN_FILE=${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/Toolchains/oe-sdk_cross.cmake)
endif(EXISTS $ENV{OECORE_TARGET_SYSROOT})
+
ExternalProject_Add(
gtest-${gtest_RELEASE}
GIT_REPOSITORY https://github.com/google/googletest
@@ -130,6 +133,26 @@ if (ENABLE_CUDA)
add_definitions(-DCUDA_BLOCKS_TEST=1)
endif(ENABLE_CUDA)
+################################################################################
+# Optional generator
+################################################################################
+if(ENABLE_SW_GENERATOR)
+ ExternalProject_Add(
+ gnss-sim
+ GIT_REPOSITORY https://bitbucket.org/jarribas/gnss-simulator
+ GIT_TAG master
+ SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gnss-sim
+ BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/../../gnss-sim
+ CMAKE_ARGS ${GTEST_COMPILER} ${TOOLCHAIN_ARG}
+ UPDATE_COMMAND ""
+ PATCH_COMMAND ""
+ INSTALL_COMMAND ""
+ )
+ set(SW_GENERATOR_BIN ${CMAKE_CURRENT_BINARY_DIR}/../../gnss-sim/gnss_sim)
+ add_definitions(-DSW_GENERATOR_BIN="${SW_GENERATOR_BIN}")
+ add_definitions(-DDEFAULT_RINEX_NAV="${CMAKE_CURRENT_BINARY_DIR}/../../../thirdparty/gnss-sim/brdc3540.14n")
+endif(ENABLE_SW_GENERATOR)
+
add_definitions(-DTEST_PATH="${CMAKE_SOURCE_DIR}/src/tests/")
include_directories(
@@ -429,4 +452,17 @@ if(ENABLE_SYSTEM_TESTING)
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:ttff>
${CMAKE_SOURCE_DIR}/install/$<TARGET_FILE_NAME:ttff>
)
+
+ add_executable(trk_system_test
+ ${CMAKE_CURRENT_SOURCE_DIR}/system-tests/trk_system_test.cc )
+ if(NOT ${GTEST_DIR_LOCAL})
+ add_dependencies(trk_system_test gtest-${gtest_RELEASE})
+ else(NOT ${GTEST_DIR_LOCAL})
+ add_dependencies(trk_system_test gtest)
+ endif(NOT ${GTEST_DIR_LOCAL})
+ add_custom_command(TARGET trk_system_test POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:trk_system_test>
+ ${CMAKE_SOURCE_DIR}/install/$<TARGET_FILE_NAME:trk_system_test>
+ )
+
endif(ENABLE_SYSTEM_TESTING)
diff --git a/src/tests/system-tests/trk_system_test.cc b/src/tests/system-tests/trk_system_test.cc
new file mode 100644
index 0000000..70898c4
--- /dev/null
+++ b/src/tests/system-tests/trk_system_test.cc
@@ -0,0 +1,37 @@
+
+#include <iostream>
+#include <unistd.h>
+#include <sys/wait.h>
+#include <exception>
+//#include <gflags/gflags.h>
+//#include <glog/logging.h>
+//include <gtest/gtest.h>
+
+
+
+int main()
+{
+ pid_t wait_result;
+ int child_status;
+
+ // Configure signal
+ std::string str = std::string(SW_GENERATOR_BIN);
+ std::string p1 = std::string("-rinex_nav_file=") + std::string(DEFAULT_RINEX_NAV);
+ std::string p2 = std::string("-static_position=30.286502,120.032669,100,40");
+
+ char *const parmList[] = { &str[0], &str[0], &p1[0], &p2[0], NULL };
+ int pid;
+ if ((pid = fork()) == -1)
+ perror("fork error");
+ else if (pid == 0)
+ {
+ execv(&str[0], parmList);
+ std::cout << "Return not expected. Must be an execv error." << std::endl;
+ std::terminate();
+ }
+
+ wait_result = waitpid(pid, &child_status, 0);
+ std::cout << "Signal and Observables RINEX files created." << std::endl;
+
+ return 0;
+}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-hamradio/gnss-sdr.git
More information about the pkg-hamradio-commits
mailing list