1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2025-04-29 14:13:11 +00:00

Adapting tests to the new GNU Radio 3.7 API. The component gr-analog, required by some tests, is now found by CMake. Some code cleaning

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@340 64b25241-fba3-4117-9849-534c7e92360d
This commit is contained in:
Carles Fernandez 2013-02-17 09:54:41 +00:00
parent bd84ebd1c4
commit 2b5d6e45f5
17 changed files with 957 additions and 1176 deletions

View File

@ -67,7 +67,11 @@ include_directories(
${CMAKE_SOURCE_DIR}/src/core/libs
${CMAKE_SOURCE_DIR}/src/algorithms/libs
${CMAKE_SOURCE_DIR}/src/algorithms/resampler/gnuradio_blocks
${CMAKE_SOURCE_DIR}/src/algorithms/channel/adapters
${CMAKE_SOURCE_DIR}/src/algorithms/channel/libs
${CMAKE_SOURCE_DIR}/src/algorithms/tracking/libs
${CMAKE_SOURCE_DIR}/src/algorithms/tracking/adapters
${CMAKE_SOURCE_DIR}/src/algorithms/tracking/gnuradio_blocks
${CMAKE_SOURCE_DIR}/src/algorithms/signal_source/adapters
${CMAKE_SOURCE_DIR}/src/algorithms/input_filter/adapters
${CMAKE_SOURCE_DIR}/src/algorithms/acquisition/adapters
@ -80,9 +84,17 @@ include_directories(
${Boost_INCLUDE_DIRS}
)
find_library(
GR_ANALOG_LIBRARIES
NAMES gnuradio-analog
PATHS /usr/local/lib
/usr/local/lib64
/usr/lib
/usr/lib64
)
add_executable(run_tests ${CMAKE_CURRENT_SOURCE_DIR}/test_main.cc)
target_link_libraries(run_tests ${Boost_LIBRARIES} ${GFLAGS_LIBS} ${GLOG_LIBRARIES} ${GTEST_LIBRARIES} gnss_sp_libs gnss_rx)
target_link_libraries(run_tests ${Boost_LIBRARIES} ${GFLAGS_LIBS} ${GLOG_LIBRARIES} ${GTEST_LIBRARIES} ${GR_ANALOG_LIBRARIES} gnss_sp_libs gnss_rx)
install(TARGETS run_tests DESTINATION ${CMAKE_SOURCE_DIR}/install)

View File

@ -1,12 +1,12 @@
/*!
* \file file_configuration_test.cc
* \brief This file implements tests for the ControlMessageFactory.
* \brief This file implements tests for the file_configuration.
* \author Carles Fernandez-Prades, 2012. cfernandez(at)cttc.es
*
*
* -------------------------------------------------------------------------
*
* Copyright (C) 2010-2012 (see AUTHORS file for a list of contributors)
* Copyright (C) 2010-2013 (see AUTHORS file for a list of contributors)
*
* GNSS-SDR is a software defined Global Navigation
* Satellite Systems receiver

View File

@ -1,23 +1,40 @@
/**
* Copyright notice
*/
/**
* Author: Carlos Avilés, 2010. carlos.avilesr(at)googlemail.com
*/
/**
* This class implements a Unit Test for the class InMemoryConfiguration.
/*!
* \file in_memory_configuration_test.cc
* \brief This file implements tests for the in_memory_configuration.
* \author Carles Fernandez-Prades, 2013. cfernandez(at)cttc.es
*
*
* -------------------------------------------------------------------------
*
* Copyright (C) 2010-2013 (see AUTHORS file for a list of contributors)
*
* GNSS-SDR is a software defined Global Navigation
* Satellite Systems receiver
*
* This file is part of GNSS-SDR.
*
* GNSS-SDR is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* at your option) any later version.
*
* GNSS-SDR is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
*
* -------------------------------------------------------------------------
*/
#include <gtest/gtest.h>
#include "configuration_interface.h"
#include "in_memory_configuration.h"
TEST(InMemoryConfiguration, IsPresent) {
TEST(InMemoryConfiguration, IsPresent)
{
InMemoryConfiguration *configuration = new InMemoryConfiguration();
EXPECT_FALSE(configuration->is_present("NotThere"));
@ -28,7 +45,8 @@ TEST(InMemoryConfiguration, IsPresent) {
delete configuration;
}
TEST(InMemoryConfiguration, StoreAndRetrieve) {
TEST(InMemoryConfiguration, StoreAndRetrieve)
{
ConfigurationInterface *configuration = new InMemoryConfiguration();
((InMemoryConfiguration*)configuration)->set_property("Foo.property1", "value");
@ -40,7 +58,8 @@ TEST(InMemoryConfiguration, StoreAndRetrieve) {
delete configuration;
}
TEST(InMemoryConfiguration, NoStoringAndRetrieve) {
TEST(InMemoryConfiguration, NoStoringAndRetrieve)
{
ConfigurationInterface *configuration = new InMemoryConfiguration();
std::string default_value = "default_value";
std::string value = configuration->property("Foo.property1", default_value);
@ -50,56 +69,65 @@ TEST(InMemoryConfiguration, NoStoringAndRetrieve) {
delete configuration;
}
TEST(InMemoryConfiguration, RetrieveBool) {
TEST(InMemoryConfiguration, RetrieveBool)
{
ConfigurationInterface *configuration = new InMemoryConfiguration();
((InMemoryConfiguration*)configuration)->set_property("Foo.property1", "true");
bool value = configuration->property("Foo.property1", false);
EXPECT_EQ(true, value);
bool expectedtrue = true;
EXPECT_EQ(expectedtrue, value);
delete configuration;
}
TEST(InMemoryConfiguration, RetrieveBoolFail) {
TEST(InMemoryConfiguration, RetrieveBoolFail)
{
ConfigurationInterface *configuration = new InMemoryConfiguration();
((InMemoryConfiguration*)configuration)->set_property("Foo.property1", "tru");
bool value = configuration->property("Foo.property1", false);
EXPECT_EQ(false, value);
bool expectedfalse = false;
EXPECT_EQ(expectedfalse, value);
delete configuration;
}
TEST(InMemoryConfiguration, RetrieveBoolNoDefine) {
TEST(InMemoryConfiguration, RetrieveBoolNoDefine)
{
ConfigurationInterface *configuration = new InMemoryConfiguration();
bool value = configuration->property("Foo.property1", false);
EXPECT_EQ(false, value);
bool expectedfalse = false;
EXPECT_EQ(expectedfalse, value);
delete configuration;
}
TEST(InMemoryConfiguration, RetrieveSizeT) {
TEST(InMemoryConfiguration, RetrieveSizeT)
{
ConfigurationInterface *configuration = new InMemoryConfiguration();
((InMemoryConfiguration*)configuration)->set_property("Foo.property1", "8");
unsigned int value = configuration->property("Foo.property1", 4);
EXPECT_EQ(8, value);
unsigned int expected8 = 8;
EXPECT_EQ(expected8, value);
delete configuration;
}
TEST(InMemoryConfiguration, RetrieveSizeTFail) {
TEST(InMemoryConfiguration, RetrieveSizeTFail)
{
ConfigurationInterface *configuration = new InMemoryConfiguration();
((InMemoryConfiguration*)configuration)->set_property("Foo.property1", "true");
unsigned int value = configuration->property("Foo.property1", 4);
EXPECT_EQ(4, value);
unsigned int expected4 = 4;
EXPECT_EQ(expected4, value);
delete configuration;
}
@ -108,8 +136,8 @@ TEST(InMemoryConfiguration, RetrieveSizeTNoDefine) {
ConfigurationInterface *configuration = new InMemoryConfiguration();
unsigned int value = configuration->property("Foo.property1", 4);
EXPECT_EQ(4, value);
unsigned int expected4 = 4;
EXPECT_EQ(expected4, value);
delete configuration;
}

View File

@ -1,15 +1,33 @@
/**
* Copyright notice
*/
/**
* Author: Carlos Avilés, 2010. carlos.avilesr(at)googlemail.com
*/
/**
* This class implements a Unit Tests for the class ControlThread.
/*!
* \file control_thread_test.cc
* \brief This file implements tests for the ControlThread.
* \author Carlos Aviles, 2010. carlos.avilesr(at)googlemail.com
* Carles Fernandez-Prades, 2013. cfernandez(at)cttc.es
*
*
* -------------------------------------------------------------------------
*
* Copyright (C) 2010-2013 (see AUTHORS file for a list of contributors)
*
* GNSS-SDR is a software defined Global Navigation
* Satellite Systems receiver
*
* This file is part of GNSS-SDR.
*
* GNSS-SDR is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* at your option) any later version.
*
* GNSS-SDR is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
*
* -------------------------------------------------------------------------
*/
#include <gtest/gtest.h>
@ -18,12 +36,15 @@
#include "in_memory_configuration.h"
TEST(Control_Thread_Test, InstantiateRunControlMessages) {
TEST(Control_Thread_Test, InstantiateRunControlMessages)
{
InMemoryConfiguration *config = new InMemoryConfiguration();
config->set_property("SignalSource.implementation", "File_Signal_Source");
config->set_property("SignalSource.filename", "/Users/carlesfernandez/Documents/workspace/gnss-sdr/trunk/data/sc2_d16.dat");
config->set_property("SignalSource.filename", "../src/tests/signal_samples/GSoC_CTTC_capture_2012_07_26_4Msps_4ms.dat");
config->set_property("SignalSource.item_type", "gr_complex");
config->set_property("SignalSource.sampling_frequency", "4000000");
config->set_property("SignalSource.repeat", "true");
config->set_property("SignalConditioner.implementation", "Pass_Through");
config->set_property("SignalConditioner.item_type", "gr_complex");
config->set_property("Channels.count", "12");
@ -68,8 +89,10 @@ TEST(Control_Thread_Test, InstantiateRunControlMessages) {
control_thread->run();
EXPECT_EQ(18, control_thread->processed_control_messages());
EXPECT_EQ(1, control_thread->applied_actions());
unsigned int expected18 = 18;
unsigned int expected1 = 1;
EXPECT_EQ(expected18, control_thread->processed_control_messages());
EXPECT_EQ(expected1, control_thread->applied_actions());
delete config;
delete control_thread;
@ -80,12 +103,13 @@ TEST(Control_Thread_Test, InstantiateRunControlMessages) {
TEST(Control_Thread_Test, InstantiateRunControlMessages2) {
TEST(Control_Thread_Test, InstantiateRunControlMessages2)
{
InMemoryConfiguration *config = new InMemoryConfiguration();
config->set_property("SignalSource.implementation", "File_Signal_Source");
config->set_property("SignalSource.filename", "/Users/carlesfernandez/Documents/workspace/gnss-sdr/trunk/data/sc2_d16.dat");
config->set_property("SignalSource.filename", "../src/tests/signal_samples/GSoC_CTTC_capture_2012_07_26_4Msps_4ms.dat");
config->set_property("SignalSource.item_type", "gr_complex");
config->set_property("SignalSource.sampling_frequency", "4000000");
config->set_property("SignalConditioner.implementation", "Pass_Through");
config->set_property("SignalConditioner.item_type", "gr_complex");
config->set_property("Channels.count", "12");
@ -116,9 +140,10 @@ TEST(Control_Thread_Test, InstantiateRunControlMessages2) {
control_thread->set_control_queue(control_queue);
control_thread->run();
EXPECT_EQ(5, control_thread->processed_control_messages());
EXPECT_EQ(1, control_thread->applied_actions());
unsigned int expected5 = 5;
unsigned int expected1 = 1;
EXPECT_EQ(expected5, control_thread->processed_control_messages());
EXPECT_EQ(expected1, control_thread->applied_actions());
delete config;
delete control_thread;

View File

@ -1,44 +0,0 @@
/*!
* \file file_output_filter_test.cc
* \brief This file implements tests for the FileSignalSourceClass
* \author Carlos Aviles, 2010. carlos.avilesr(at)googlemail.com
* Carles Fernandez-Prades, 2012. cfernandez(at)cttc.es
*
*
* -------------------------------------------------------------------------
*
* Copyright (C) 2010-2012 (see AUTHORS file for a list of contributors)
*
* GNSS-SDR is a software defined Global Navigation
* Satellite Systems receiver
*
* This file is part of GNSS-SDR.
*
* GNSS-SDR is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* at your option) any later version.
*
* GNSS-SDR is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
*
* -------------------------------------------------------------------------
*/
#include <gtest/gtest.h>
#include "file_output_filter.h"
#include "in_memory_configuration.h"
TEST(FileOutputFilterTest, Instantiate)
{
InMemoryConfiguration* config = new InMemoryConfiguration();
config->set_property("Test.filename", "../data/output.dat");
config->set_property("Test.item_type", "float");
FileOutputFilter *output_filter = new FileOutputFilter(config, "Test", 1, 0);
delete output_filter;
}

View File

@ -1,87 +0,0 @@
/*!
* \file file_signal_source_test.cc
* \brief This file implements tests for the FileSignalSourceClass
* \author Carlos Aviles, 2010. carlos.avilesr(at)googlemail.com
* Carles Fernandez-Prades, 2012. cfernandez(at)cttc.es
*
*
* -------------------------------------------------------------------------
*
* Copyright (C) 2010-2012 (see AUTHORS file for a list of contributors)
*
* GNSS-SDR is a software defined Global Navigation
* Satellite Systems receiver
*
* This file is part of GNSS-SDR.
*
* GNSS-SDR is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* at your option) any later version.
*
* GNSS-SDR is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
*
* -------------------------------------------------------------------------
*/
#include <gtest/gtest.h>
#include <gr_block.h>
#include <gr_msg_queue.h>
#include <gr_top_block.h>
#include <gr_null_sink.h>
#include <stdexcept>
#include "file_signal_source.h"
#include "in_memory_configuration.h"
TEST(File_Signal_Source_Test, Instantiate)
{
gr_msg_queue_sptr queue = gr_make_msg_queue(0);
InMemoryConfiguration* config = new InMemoryConfiguration();
config->set_property("Test.samples", "0");
config->set_property("Test.sampling_frequency", "0");
config->set_property("Test.filename", "/Users/carlesfernandez/Documents/workspace/gnss-sdr/trunk/data/sc2_d16.dat");
config->set_property("Test.item_type", "gr_complex");
config->set_property("Test.repeat", "false");
try
{
FileSignalSource *signal_source = new FileSignalSource(config, "Test", 1, 1, queue);
}
catch(std::exception& e){}
EXPECT_STREQ("/Users/carlesfernandez/Documents/workspace/gnss-sdr/trunk/data/sc2_d16.dat", signal_source->filename().c_str());
EXPECT_STREQ("gr_complex", signal_source->item_type().c_str());
EXPECT_TRUE(signal_source->repeat() == false);
delete signal_source;
}
TEST(File_Signal_Source_Test, InstantiateFileNotExists)
{
gr_msg_queue_sptr queue = gr_make_msg_queue(0);
InMemoryConfiguration* config = new InMemoryConfiguration();
config->set_property("Test.samples", "0");
config->set_property("Test.sampling_frequency", "0");
config->set_property("Test.filename", "./signal_samples/i_dont_exist.dat");
config->set_property("Test.item_type", "gr_complex");
config->set_property("Test.repeat", "false");
EXPECT_THROW(new FileSignalSource(config, "Test", 1, 1, queue), std::exception);
}

View File

@ -1,179 +0,0 @@
/**
* Copyright notice
*/
/**
* Author: Carlos Avilés, 2010. carlos.avilesr(at)googlemail.com
*/
/**
* This class implements a Unit Test for the class GNSSBlockFactory.
*
*/
#include <gtest/gtest.h>
#include <gnuradio/gr_msg_queue.h>
#include <vector>
#include "in_memory_configuration.h"
#include "gnss_block_interface.h"
#include "gnss_block_factory.h"
TEST(GNSSBlockFactory, InstantiateChannels)
{
InMemoryConfiguration *configuration = new InMemoryConfiguration();
configuration->set_property("Channels.count", "2");
configuration->set_property("Channel1.implementation", "Pass_Through");
configuration->set_property("Channel1.item_type", "gr_complex");
configuration->set_property("Channel1.vector_size", "1");
configuration->set_property("Channel2.implementation", "Pass_Through");
configuration->set_property("Channel2.item_type", "gr_complex");
configuration->set_property("Channel2.vector_size", "1");
gr_msg_queue_sptr queue = gr_make_msg_queue(0);
GNSSBlockFactory *factory = new GNSSBlockFactory();
std::vector<GNSSBlockInterface*>* channels = factory->GetChannels(configuration, queue);
EXPECT_EQ(2, channels->size());
delete configuration;
delete factory;
for(unsigned int i=0 ; i<channels->size() ; i++)
delete channels->at(i);
channels->clear();
delete channels;
}
TEST(GNSSBlockFactory, InstantiateSignalSource)
{
InMemoryConfiguration *configuration = new InMemoryConfiguration();
configuration->set_property("SignalSource.implementation", "FileSignalSource");
gr_msg_queue_sptr queue = gr_make_msg_queue(0);
GNSSBlockFactory *factory = new GNSSBlockFactory();
GNSSBlockInterface *signal_source = factory->GetSignalSource(configuration, queue);
EXPECT_STREQ("SignalSource", signal_source->role().c_str());
delete configuration;
delete factory;
delete signal_source;
}
TEST(GNSSBlockFactory, InstantiateWrongSignalSource) {
InMemoryConfiguration *configuration = new InMemoryConfiguration();
configuration->set_property("SignalSource.implementation", "Pepito");
gr_msg_queue_sptr queue = gr_make_msg_queue(0);
GNSSBlockFactory *factory = new GNSSBlockFactory();
GNSSBlockInterface *signal_source = factory->GetSignalSource(configuration, queue);
EXPECT_EQ(NULL, signal_source);
delete configuration;
delete factory;
}
TEST(GNSSBlockFactory, InstantiateSignalConditioner) {
InMemoryConfiguration *configuration = new InMemoryConfiguration();
configuration->set_property("SignalConditioner.implementation", "Pass_Through");
gr_msg_queue_sptr queue = gr_make_msg_queue(0);
GNSSBlockFactory *factory = new GNSSBlockFactory();
GNSSBlockInterface *signal_conditioner = factory->GetSignalConditioner(configuration, queue);
EXPECT_STREQ("SignalConditioner", signal_conditioner->role().c_str());
delete configuration;
delete factory;
delete signal_conditioner;
}
TEST(GNSSBlockFactory, InstantiateWrongSignalConditioner) {
InMemoryConfiguration *configuration = new InMemoryConfiguration();
configuration->set_property("SignalConditioner.implementation", "Pepito");
gr_msg_queue_sptr queue = gr_make_msg_queue(0);
GNSSBlockFactory *factory = new GNSSBlockFactory();
GNSSBlockInterface *signal_conditioner = factory->GetSignalConditioner(configuration, queue);
EXPECT_EQ(NULL, signal_conditioner);
delete configuration;
delete factory;
}
TEST(GNSSBlockFactory, InstantiatePVT) {
InMemoryConfiguration *configuration = new InMemoryConfiguration();
configuration->set_property("PVT.implementation", "Pass_Through");
gr_msg_queue_sptr queue = gr_make_msg_queue(0);
GNSSBlockFactory *factory = new GNSSBlockFactory();
GNSSBlockInterface *pvt = factory->GetPVT(configuration, queue);
EXPECT_STREQ("PVT", pvt->role().c_str());
delete configuration;
delete factory;
delete pvt;
}
TEST(GNSSBlockFactory, InstantiateWrongPVT) {
InMemoryConfiguration *configuration = new InMemoryConfiguration();
configuration->set_property("PVT.implementation", "Pepito");
gr_msg_queue_sptr queue = gr_make_msg_queue(0);
GNSSBlockFactory *factory = new GNSSBlockFactory();
GNSSBlockInterface *pvt = factory->GetPVT(configuration, queue);
EXPECT_EQ(NULL, pvt);
delete configuration;
delete factory;
}
TEST(GNSSBlockFactory, InstantiateOutputFilter) {
InMemoryConfiguration *configuration = new InMemoryConfiguration();
configuration->set_property("OutputFilter.implementation", "NullSinkOutputFilter");
gr_msg_queue_sptr queue = gr_make_msg_queue(0);
GNSSBlockFactory *factory = new GNSSBlockFactory();
GNSSBlockInterface *output_filter = factory->GetOutputFilter(configuration, queue);
EXPECT_STREQ("OutputFilter", output_filter->role().c_str());
delete configuration;
delete factory;
delete output_filter;
}
TEST(GNSSBlockFactory, InstantiateWrongOutputFilter) {
InMemoryConfiguration *configuration = new InMemoryConfiguration();
configuration->set_property("OutputFilter.implementation", "Pepito");
gr_msg_queue_sptr queue = gr_make_msg_queue(0);
GNSSBlockFactory *factory = new GNSSBlockFactory();
GNSSBlockInterface *output_filter = factory->GetOutputFilter(configuration, queue);
EXPECT_EQ(NULL, output_filter);
delete configuration;
delete factory;
}

View File

@ -1,15 +1,33 @@
/**
* Copyright notice
*/
/**
* Author: Carlos Avilés, 2010. carlos.avilesr(at)googlemail.com
*/
/**
* This class implements a Unit Tests for the class GNSSFlowgraph.
/*!
* \file gnss_flowgraph_test.cc
* \brief This file implements tests for a flowgraph
* \author Carlos Aviles, 2010. carlos.avilesr(at)googlemail.com
* Carles Fernandez-Prades, 2012. cfernandez(at)cttc.es
*
*
* -------------------------------------------------------------------------
*
* Copyright (C) 2010-2012 (see AUTHORS file for a list of contributors)
*
* GNSS-SDR is a software defined Global Navigation
* Satellite Systems receiver
*
* This file is part of GNSS-SDR.
*
* GNSS-SDR is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* at your option) any later version.
*
* GNSS-SDR is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
*
* -------------------------------------------------------------------------
*/
#include <gtest/gtest.h>
@ -31,19 +49,22 @@ TEST(GNSSFlowgraph, InstantiateConnectStartStop)
{
InMemoryConfiguration* config = new InMemoryConfiguration();
config->set_property("SignalSource.sampling_frequency", "4000000");
config->set_property("SignalSource.implementation", "File_Signal_Source");
config->set_property("SignalSource.item_type", "gr_complex");
config->set_property("SignalSource.filename", "../src/tests/signal_samples/Galileo_E1_ID_1_Fs_4Msps_8ms.dat");
config->set_property("SignalConditioner.implementation", "Pass_Through");
config->set_property("Channels.count", "2");
config->set_property("Channels.acquisition.implementation", "Pass_Through");
config->set_property("Channels.tracking.implementation", "Pass_Through");
config->set_property("Channels.observables.implementation", "Pass_Through");
config->set_property("Observables.implementation", "GpsL1CaObservables");
config->set_property("Observables.implementation", "GPS_L1_CA_Observables");
config->set_property("PVT.implementation", "GPS_L1_CA_PVT");
config->set_property("OutputFilter.implementation", "NullSinkOutputFilter");
config->set_property("OutputFilter.implementation", "Null_Sink_Output_Filter");
GNSSFlowgraph* flowgraph = new GNSSFlowgraph(config, gr_make_msg_queue(0));
EXPECT_STREQ("FileSignalSource", flowgraph->signal_source()->implementation().c_str());
EXPECT_STREQ("File_Signal_Source", flowgraph->signal_source()->implementation().c_str());
EXPECT_STREQ("Pass_Through", flowgraph->signal_conditioner()->implementation().c_str());
EXPECT_STREQ("Channel", flowgraph->channel(0)->implementation().c_str());
EXPECT_STREQ("Pass_Through", ((Channel*)flowgraph->channel(0))->acquisition()->implementation().c_str());
@ -51,9 +72,9 @@ TEST(GNSSFlowgraph, InstantiateConnectStartStop)
EXPECT_STREQ("Channel", flowgraph->channel(1)->implementation().c_str());
EXPECT_STREQ("Pass_Through", ((Channel*)flowgraph->channel(1))->acquisition()->implementation().c_str());
EXPECT_STREQ("Pass_Through", ((Channel*)flowgraph->channel(1))->tracking()->implementation().c_str());
EXPECT_STREQ("GpsL1CaObservables", flowgraph->observables()->implementation().c_str());
EXPECT_STREQ("GPS_L1_CA_Observables", flowgraph->observables()->implementation().c_str());
EXPECT_STREQ("GPS_L1_CA_PVT", flowgraph->pvt()->implementation().c_str());
EXPECT_STREQ("NullSinkOutputFilter", flowgraph->output_filter()->implementation().c_str());
EXPECT_STREQ("Null_Sink_Output_Filter", flowgraph->output_filter()->implementation().c_str());
EXPECT_NO_THROW(flowgraph->connect());
EXPECT_TRUE(flowgraph->connected());

View File

@ -33,7 +33,8 @@
#include <sys/time.h>
#include <iostream>
#include <gnuradio/gr_top_block.h>
#include <gnuradio/gr_sig_source_c.h>
#include <gnuradio/analog/sig_source_waveform.h>
#include <gnuradio/analog/sig_source_c.h>
#include <gnuradio/gr_msg_queue.h>
#include <gnuradio/gr_null_sink.h>
#include "gnss_block_factory.h"
@ -53,7 +54,6 @@ protected:
top_block = gr_make_top_block("Fir filter test");
config = new InMemoryConfiguration();
item_size = sizeof(gr_complex);
}
~Fir_Filter_Test()
{
@ -97,6 +97,7 @@ TEST_F(Fir_Filter_Test, Instantiate)
delete filter;
}
TEST_F(Fir_Filter_Test, ConnectAndRun)
{
int fs_in = 8000000;
@ -111,7 +112,7 @@ TEST_F(Fir_Filter_Test, ConnectAndRun)
ASSERT_NO_THROW( {
filter->connect(top_block);
gr_sig_source_c_sptr source = gr_make_sig_source_c(fs_in,GR_SIN_WAVE, 1000, 1, gr_complex(0));
gr_block_sptr source = gr::analog::sig_source_c::make(fs_in, gr::analog::GR_SIN_WAVE, 1000, 1, gr_complex(0));
gr_block_sptr valve = gnss_sdr_make_valve(sizeof(gr_complex), nsamples, queue);
gr_block_sptr null_sink = gr_make_null_sink(item_size);

View File

@ -37,7 +37,8 @@
#include <iostream>
#include <gnuradio/gr_top_block.h>
#include <gnuradio/gr_file_source.h>
#include <gnuradio/gr_sig_source_c.h>
#include <gnuradio/analog/sig_source_waveform.h>
#include <gnuradio/analog/sig_source_c.h>
#include <gnuradio/gr_msg_queue.h>
#include <gnuradio/gr_null_sink.h>
#include <gnuradio/gr_skiphead.h>
@ -127,8 +128,7 @@ TEST_F(GalileoE1DllPllVemlTrackingInternalTest, Instantiate)
//
// ASSERT_NO_THROW( {
// tracking->connect(top_block);
//
// gr_sig_source_c_sptr source = gr_make_sig_source_c(fs_in,GR_SIN_WAVE, 1000, 1, gr_complex(0));
// gr_block_sptr source = gr::analog::sig_source_c::make(fs_in, gr::analog::GR_SIN_WAVE, 1000, 1, gr_complex(0));
// gr_block_sptr valve = gnss_sdr_make_valve(sizeof(gr_complex), nsamples, queue);
// gr_null_sink_sptr sink = gr_make_null_sink(sizeof(Gnss_Synchro));
// top_block->connect(source, 0, valve, 0);
@ -153,8 +153,8 @@ TEST_F(GalileoE1DllPllVemlTrackingInternalTest, Instantiate)
TEST_F(GalileoE1DllPllVemlTrackingInternalTest, ValidationOfResults)
{
struct timeval tv;
long long int begin;
long long int end;
long long int begin = 0;
long long int end = 0;
// int num_samples = 40000000; // 4 Msps
// unsigned int skiphead_sps = 24000000; // 4 Msps
int num_samples = 80000000; // 8 Msps
@ -185,10 +185,7 @@ TEST_F(GalileoE1DllPllVemlTrackingInternalTest, ValidationOfResults)
}) << "Failure connecting tracking to the top_block."<< std::endl;
ASSERT_NO_THROW( {
std::string file = "/media/DATA/Proyectos/Signals/cttc_2012_07_26/cp_cttc_2012_07_26_n6_8Msps.dat";
// std::string file = "/media/DATA/Proyectos/Signals/cttc_2012_07_26/cp_cttc_2012_07_26_n4_4Msps.dat";
// std::string file = "/media/DATA/Proyectos/Signals/prueba.dat";
// std::string file = "../data/resampler.dat";
std::string file = "../src/tests/signal_samples/GSoC_CTTC_capture_2012_07_26_4Msps_4ms.dat";
const char * file_name = file.c_str();
gr_file_source_sptr file_source = gr_make_file_source(sizeof(gr_complex),file_name,false);
gr_skiphead_sptr skip_head = gr_make_skiphead(sizeof(gr_complex), skiphead_sps);

View File

@ -47,7 +47,8 @@
#include <iostream>
#include <gnuradio/gr_top_block.h>
#include <gnuradio/gr_file_source.h>
#include <gnuradio/gr_sig_source_c.h>
#include <gnuradio/analog/sig_source_waveform.h>
#include <gnuradio/analog/sig_source_c.h>
#include <gnuradio/gr_msg_queue.h>
#include <gnuradio/gr_null_sink.h>
#include <gnuradio/gr_skiphead.h>
@ -61,9 +62,11 @@
#include "galileo_e1_pcps_ambiguous_acquisition.h"
class GalileoE1PcpsAmbiguousAcquisitionGSoCTest: public ::testing::Test {
class GalileoE1PcpsAmbiguousAcquisitionGSoCTest: public ::testing::Test
{
protected:
GalileoE1PcpsAmbiguousAcquisitionGSoCTest() {
GalileoE1PcpsAmbiguousAcquisitionGSoCTest()
{
queue = gr_make_msg_queue(0);
top_block = gr_make_top_block("Acquisition test");
factory = new GNSSBlockFactory();
@ -73,7 +76,8 @@ protected:
message = 0;
}
~GalileoE1PcpsAmbiguousAcquisitionGSoCTest() {
~GalileoE1PcpsAmbiguousAcquisitionGSoCTest()
{
delete factory;
delete config;
}
@ -95,7 +99,8 @@ protected:
boost::thread ch_thread;
};
void GalileoE1PcpsAmbiguousAcquisitionGSoCTest::init(){
void GalileoE1PcpsAmbiguousAcquisitionGSoCTest::init()
{
gnss_synchro.Channel_ID=0;
gnss_synchro.System = 'E';
@ -164,8 +169,7 @@ TEST_F(GalileoE1PcpsAmbiguousAcquisitionGSoCTest, ConnectAndRun)
ASSERT_NO_THROW( {
acquisition->connect(top_block);
gr_sig_source_c_sptr source = gr_make_sig_source_c(fs_in,GR_SIN_WAVE, 1000, 1, gr_complex(0));
gr_block_sptr source = gr::analog::sig_source_c::make(fs_in, gr::analog::GR_SIN_WAVE, 1000, 1, gr_complex(0));
gr_block_sptr valve = gnss_sdr_make_valve(sizeof(gr_complex), nsamples, queue);
top_block->connect(source, 0, valve, 0);
@ -253,5 +257,4 @@ TEST_F(GalileoE1PcpsAmbiguousAcquisitionGSoCTest, ValidationOfResults)
EXPECT_EQ(1, message) << "Acquisition failure. Expected message: 1=ACQ SUCCESS.";
delete acquisition;
}

View File

@ -37,7 +37,8 @@
#include <iostream>
#include <gnuradio/gr_top_block.h>
#include <gnuradio/gr_file_source.h>
#include <gnuradio/gr_sig_source_c.h>
#include <gnuradio/analog/sig_source_waveform.h>
#include <gnuradio/analog/sig_source_c.h>
#include <gnuradio/gr_msg_queue.h>
#include <gnuradio/gr_null_sink.h>
#include "gnss_block_factory.h"
@ -150,7 +151,7 @@ TEST_F(GalileoE1PcpsAmbiguousAcquisitionTest, ConnectAndRun)
ASSERT_NO_THROW( {
acquisition->connect(top_block);
gr_sig_source_c_sptr source = gr_make_sig_source_c(fs_in,GR_SIN_WAVE, 1000, 1, gr_complex(0));
gr_block_sptr source = gr::analog::sig_source_c::make(fs_in, gr::analog::GR_SIN_WAVE, 1000, 1, gr_complex(0));
gr_block_sptr valve = gnss_sdr_make_valve(sizeof(gr_complex), nsamples, queue);
top_block->connect(source, 0, valve, 0);

View File

@ -37,7 +37,8 @@
#include <iostream>
#include <gnuradio/gr_top_block.h>
#include <gnuradio/gr_file_source.h>
#include <gnuradio/gr_sig_source_c.h>
#include <gnuradio/analog/sig_source_waveform.h>
#include <gnuradio/analog/sig_source_c.h>
#include <gnuradio/gr_msg_queue.h>
#include <gnuradio/gr_null_sink.h>
#include "gnss_block_factory.h"
@ -151,10 +152,8 @@ TEST_F(GpsL1CaPcpsAcquisitionTest, ConnectAndRun)
ASSERT_NO_THROW( {
acquisition->connect(top_block);
gr_sig_source_c_sptr source = gr_make_sig_source_c(fs_in,GR_SIN_WAVE, 1000, 1, gr_complex(0));
gr_block_sptr source = gr::analog::sig_source_c::make(fs_in, gr::analog::GR_SIN_WAVE, 1000, 1, gr_complex(0));
gr_block_sptr valve = gnss_sdr_make_valve(sizeof(gr_complex), nsamples, queue);
top_block->connect(source, 0, valve, 0);
top_block->connect(valve, 0, acquisition->get_left_block(), 0);
}) << "Failure connecting the blocks of acquisition test."<< std::endl;

View File

@ -36,7 +36,8 @@
#include <sys/time.h>
#include <iostream>
#include <gnuradio/gr_top_block.h>
#include <gnuradio/gr_sig_source_c.h>
#include <gnuradio/analog/sig_source_waveform.h>
#include <gnuradio/analog/sig_source_c.h>
#include <gnuradio/gr_msg_queue.h>
#include <gnuradio/gr_null_sink.h>
#include "gnss_sdr_valve.h"
@ -51,7 +52,7 @@ TEST(Direct_Resampler_Conditioner_Cc_Test, InstantiationAndRunTest)
int nsamples = 1000000; //Number of samples to be computed
gr_msg_queue_sptr queue = gr_make_msg_queue(0);
gr_top_block_sptr top_block = gr_make_top_block("direct_resampler_conditioner_cc_test");
gr_sig_source_c_sptr source = gr_make_sig_source_c(fs_in, GR_SIN_WAVE, 1000.0, 1.0, gr_complex(0.0));
gr_block_sptr source = gr::analog::sig_source_c::make(fs_in, gr::analog::GR_SIN_WAVE, 1000.0, 1.0, gr_complex(0.0));
gr_block_sptr valve = gnss_sdr_make_valve(sizeof(gr_complex), nsamples, queue);
long long int begin = 0;
long long int end = 0;

View File

@ -33,7 +33,8 @@
#include <gtest/gtest.h>
#include <gnuradio/gr_top_block.h>
#include <gnuradio/gr_sig_source_f.h>
#include <gnuradio/analog/sig_source_waveform.h>
#include <gnuradio/analog/sig_source_f.h>
#include <gnuradio/gr_null_sink.h>
#include <gnuradio/gr_msg_queue.h>
#include "gnss_sdr_valve.h"
@ -43,8 +44,9 @@ TEST(Valve_Test, CheckEventSentAfter100Samples)
gr_msg_queue_sptr queue = gr_make_msg_queue(0);
gr_top_block_sptr top_block = gr_make_top_block("gnss_sdr_valve_test");
gr_block_sptr source = gr::analog::sig_source_f::make(100, gr::analog::GR_CONST_WAVE, 100, 1, 0);
gr_block_sptr valve = gnss_sdr_make_valve(sizeof(float), 100, queue);
gr_sig_source_f_sptr source = gr_make_sig_source_f(100, GR_CONST_WAVE, 100, 1, 0);
gr_block_sptr sink = gr_make_null_sink(sizeof(float));
unsigned int expected0 = 0;

View File

@ -46,27 +46,28 @@
#include "control_thread.h"
#include "control_thread/control_message_factory_test.cc"
//#include "control_thread/control_thread_test.cc"
#include "configuration/file_configuration_test.cc"
//#include "flowgraph/file_output_filter_test.cc"
//#include "flowgraph/file_signal_source_test.cc"
#include "flowgraph/pass_through_test.cc"
//#include "flowgraph/gnss_flowgraph_test.cc"
#include "gnuradio_block/gnss_sdr_valve_test.cc"
#include "gnuradio_block/direct_resampler_conditioner_cc_test.cc"
#include "string_converter/string_converter_test.cc"
#include "arithmetic/complex_arithmetic_libc.cc"
#include "arithmetic/correlations_libc.cc"
#include "arithmetic/cordic_test.cc"
#include "configuration/file_configuration_test.cc"
#include "configuration/in_memory_configuration_test.cc"
#include "control_thread/control_message_factory_test.cc"
//#include "control_thread/control_thread_test.cc"
#include "flowgraph/pass_through_test.cc"
//#include "flowgraph/gnss_flowgraph_test.cc"
#include "gnss_block/file_output_filter_test.cc"
#include "gnss_block/file_signal_source_test.cc"
#include "gnss_block/fir_filter_test.cc"
#include "gnss_block/gps_l1_ca_pcps_acquisition_test.cc"
#include "gnss_block/galileo_e1_pcps_ambiguous_acquisition_test.cc"
#include "gnss_block/galileo_e1_pcps_ambiguous_acquisition_gsoc_test.cc"
//#include "gnss_block/galileo_e1_dll_pll_veml_tracking_test.cc"
#include "gnss_block/file_output_filter_test.cc"
//#include "gnss_block/galileo_e1_pcps_ambiguous_acquisition_gsoc_test.cc"//
#include "gnss_block/galileo_e1_dll_pll_veml_tracking_test.cc"
#include "gnss_block/gnss_block_factory_test.cc"
#include "gnuradio_block/gnss_sdr_valve_test.cc"
#include "gnuradio_block/direct_resampler_conditioner_cc_test.cc"
#include "string_converter/string_converter_test.cc"
concurrent_queue<Gps_Navigation_Message> global_gps_nav_msg_queue;