diff options
author | Martin Braun <martin.braun@ettus.com> | 2018-10-07 13:30:35 -0700 |
---|---|---|
committer | Marcus Müller <marcus@hostalia.de> | 2018-10-22 19:06:55 +0200 |
commit | 9449236cf7bf48f40b696edce68d81410d713489 (patch) | |
tree | 56052674fea45cb83a1291e6886a8154c97d1b15 | |
parent | ea0ee503a144aaf07a684a2dfaac58c89dbdb78d (diff) |
modtool: OOTs use Boost.UTF, CMake 3.8-Aware
- This is the same change that happened for the GNU Radio core
- New OOTs will now have Boost.UTF-based unit tests
- modtool will be able to handle both CppUnit-based OOTs as well as
Boost.UTF-based ones; this change is backward-compatible
-rw-r--r-- | gr-utils/python/modtool/gr-newmod/CMakeLists.txt | 9 | ||||
-rw-r--r-- | gr-utils/python/modtool/gr-newmod/cmake/Modules/FindCppUnit.cmake | 39 | ||||
-rw-r--r-- | gr-utils/python/modtool/gr-newmod/cmake/Modules/GrTest.cmake | 26 | ||||
-rw-r--r-- | gr-utils/python/modtool/gr-newmod/lib/CMakeLists.txt | 45 | ||||
-rw-r--r-- | gr-utils/python/modtool/gr-newmod/lib/qa_howto.cc | 37 | ||||
-rw-r--r-- | gr-utils/python/modtool/gr-newmod/lib/qa_howto.h | 39 | ||||
-rw-r--r-- | gr-utils/python/modtool/gr-newmod/lib/test_howto.cc | 49 | ||||
-rw-r--r-- | gr-utils/python/modtool/modtool_add.py | 24 | ||||
-rw-r--r-- | gr-utils/python/modtool/modtool_base.py | 6 | ||||
-rw-r--r-- | gr-utils/python/modtool/modtool_disable.py | 9 | ||||
-rw-r--r-- | gr-utils/python/modtool/modtool_info.py | 1 | ||||
-rw-r--r-- | gr-utils/python/modtool/modtool_makexml.py | 2 | ||||
-rw-r--r-- | gr-utils/python/modtool/modtool_rm.py | 7 | ||||
-rw-r--r-- | gr-utils/python/modtool/parser_cc_block.py | 2 | ||||
-rw-r--r-- | gr-utils/python/modtool/templates.py | 21 |
15 files changed, 110 insertions, 206 deletions
diff --git a/gr-utils/python/modtool/gr-newmod/CMakeLists.txt b/gr-utils/python/modtool/gr-newmod/CMakeLists.txt index 30540c124e..637611d4ac 100644 --- a/gr-utils/python/modtool/gr-newmod/CMakeLists.txt +++ b/gr-utils/python/modtool/gr-newmod/CMakeLists.txt @@ -87,7 +87,7 @@ set(Boost_ADDITIONAL_VERSIONS "1.60.0" "1.60" "1.61.0" "1.61" "1.62.0" "1.62" "1.63.0" "1.63" "1.64.0" "1.64" "1.65.0" "1.65" "1.66.0" "1.66" "1.67.0" "1.67" "1.68.0" "1.68" "1.69.0" "1.69" ) -find_package(Boost "1.35" COMPONENTS filesystem system) +find_package(Boost "1.35" COMPONENTS filesystem system unit_test_framework) if(NOT Boost_FOUND) message(FATAL_ERROR "Boost required to compile howto") @@ -133,7 +133,6 @@ endif(APPLE) ######################################################################## # Find gnuradio build dependencies ######################################################################## -find_package(CppUnit) find_package(Doxygen) # Search for GNU Radio and its components and versions. Add any @@ -145,10 +144,6 @@ find_package(Gnuradio "3.7.2" REQUIRED) list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_SOURCE_DIR}/cmake/Modules) include(GrVersion) -if(NOT CPPUNIT_FOUND) - message(FATAL_ERROR "CppUnit required to compile howto") -endif() - ######################################################################## # Setup doxygen option ######################################################################## @@ -167,13 +162,11 @@ include_directories( ${CMAKE_BINARY_DIR}/lib ${CMAKE_BINARY_DIR}/include ${Boost_INCLUDE_DIRS} - ${CPPUNIT_INCLUDE_DIRS} ${GNURADIO_ALL_INCLUDE_DIRS} ) link_directories( ${Boost_LIBRARY_DIRS} - ${CPPUNIT_LIBRARY_DIRS} ${GNURADIO_RUNTIME_LIBRARY_DIRS} ) diff --git a/gr-utils/python/modtool/gr-newmod/cmake/Modules/FindCppUnit.cmake b/gr-utils/python/modtool/gr-newmod/cmake/Modules/FindCppUnit.cmake deleted file mode 100644 index f93ade3412..0000000000 --- a/gr-utils/python/modtool/gr-newmod/cmake/Modules/FindCppUnit.cmake +++ /dev/null @@ -1,39 +0,0 @@ -# http://www.cmake.org/pipermail/cmake/2006-October/011446.html -# Modified to use pkg config and use standard var names - -# -# Find the CppUnit includes and library -# -# This module defines -# CPPUNIT_INCLUDE_DIR, where to find tiff.h, etc. -# CPPUNIT_LIBRARIES, the libraries to link against to use CppUnit. -# CPPUNIT_FOUND, If false, do not try to use CppUnit. - -INCLUDE(FindPkgConfig) -PKG_CHECK_MODULES(PC_CPPUNIT "cppunit") - -FIND_PATH(CPPUNIT_INCLUDE_DIRS - NAMES cppunit/TestCase.h - HINTS ${PC_CPPUNIT_INCLUDE_DIR} - ${CMAKE_INSTALL_PREFIX}/include - PATHS - /usr/local/include - /usr/include -) - -FIND_LIBRARY(CPPUNIT_LIBRARIES - NAMES cppunit - HINTS ${PC_CPPUNIT_LIBDIR} - ${CMAKE_INSTALL_PREFIX}/lib - ${CMAKE_INSTALL_PREFIX}/lib64 - PATHS - ${CPPUNIT_INCLUDE_DIRS}/../lib - /usr/local/lib - /usr/lib -) - -LIST(APPEND CPPUNIT_LIBRARIES ${CMAKE_DL_LIBS}) - -INCLUDE(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(CPPUNIT DEFAULT_MSG CPPUNIT_LIBRARIES CPPUNIT_INCLUDE_DIRS) -MARK_AS_ADVANCED(CPPUNIT_LIBRARIES CPPUNIT_INCLUDE_DIRS) diff --git a/gr-utils/python/modtool/gr-newmod/cmake/Modules/GrTest.cmake b/gr-utils/python/modtool/gr-newmod/cmake/Modules/GrTest.cmake index 186e2d5333..9500fa0a4a 100644 --- a/gr-utils/python/modtool/gr-newmod/cmake/Modules/GrTest.cmake +++ b/gr-utils/python/modtool/gr-newmod/cmake/Modules/GrTest.cmake @@ -46,7 +46,7 @@ function(GR_ADD_TEST test_name) get_target_property(location ${target} LOCATION) if(location) get_filename_component(path ${location} PATH) - string(REGEX REPLACE "\\$\\(.*\\)" ${CMAKE_BUILD_TYPE} path ${path}) + string(REGEX REPLACE "\\$\\(.*\\)" "${CMAKE_BUILD_TYPE}" path "${path}") list(APPEND GR_TEST_LIBRARY_DIRS ${path}) endif(location) endforeach(target) @@ -113,7 +113,6 @@ function(GR_ADD_TEST test_name) execute_process(COMMAND chmod +x ${sh_file}) add_test(${test_name} ${SHELL} ${sh_file}) - endif(UNIX) if(WIN32) @@ -142,3 +141,26 @@ function(GR_ADD_TEST test_name) endif(WIN32) endfunction(GR_ADD_TEST) + +######################################################################## +# Add a C++ unit test and setup the environment for a unit test. +# Takes the same arguments as the ADD_TEST function. +# +# test_name -- An identifier for your test, for usage with ctest -R +# test_source -- Path to the .cc file +# +# Before calling set the following variables: +# GR_TEST_TARGET_DEPS - built targets for the library path +######################################################################## +function(GR_ADD_CPP_TEST test_name test_source) + add_executable(${test_name} ${test_source}) + target_link_libraries( + ${test_name} + ${GR_TEST_TARGET_DEPS} + ) + set_target_properties(${test_name} + PROPERTIES COMPILE_DEFINITIONS "BOOST_TEST_DYN_LINK;BOOST_TEST_MAIN" + ) + GR_ADD_TEST(${test_name} ${test_name}) +endfunction(GR_ADD_CPP_TEST) + diff --git a/gr-utils/python/modtool/gr-newmod/lib/CMakeLists.txt b/gr-utils/python/modtool/gr-newmod/lib/CMakeLists.txt index 64b7c1d4ab..2460b930f6 100644 --- a/gr-utils/python/modtool/gr-newmod/lib/CMakeLists.txt +++ b/gr-utils/python/modtool/gr-newmod/lib/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright 2011,2012,2016 Free Software Foundation, Inc. +# Copyright 2011,2012,2016,2018 Free Software Foundation, Inc. # # This file was generated by gr_modtool, a tool from the GNU Radio framework # This file is a part of gr-howto @@ -31,8 +31,8 @@ list(APPEND howto_sources set(howto_sources "${howto_sources}" PARENT_SCOPE) if(NOT howto_sources) - MESSAGE(STATUS "No C++ sources... skipping lib/") - return() + MESSAGE(STATUS "No C++ sources... skipping lib/") + return() endif(NOT howto_sources) add_library(gnuradio-howto SHARED ${howto_sources}) @@ -52,31 +52,32 @@ include(GrMiscUtils) GR_LIBRARY_FOO(gnuradio-howto) ######################################################################## +# Print summary +######################################################################## +message(STATUS "Using install prefix: ${CMAKE_INSTALL_PREFIX}") +message(STATUS "Building for version: ${VERSION} / ${LIBVER}") + +######################################################################## # Build and register unit test ######################################################################## include(GrTest) -include_directories(${CPPUNIT_INCLUDE_DIRS}) - +# If your unit tests require special include paths, add them here +#include_directories() +# List all files that contain Boost.UTF unit tests here list(APPEND test_howto_sources - ${CMAKE_CURRENT_SOURCE_DIR}/test_howto.cc - ${CMAKE_CURRENT_SOURCE_DIR}/qa_howto.cc ) +# Anything we need to link to for the unit tests go here +list(APPEND GR_TEST_TARGET_DEPS gnuradio-howto) -add_executable(test-howto ${test_howto_sources}) +if(NOT test_howto_sources) + MESSAGE(STATUS "No C++ unit tests... skipping") + return() +endif(NOT test_howto_sources) -target_link_libraries( - test-howto - ${GNURADIO_RUNTIME_LIBRARIES} - ${Boost_LIBRARIES} - ${CPPUNIT_LIBRARIES} - gnuradio-howto -) - -GR_ADD_TEST(test_howto test-howto) +foreach(qa_file ${test_howto_sources}) + GR_ADD_CPP_TEST("howto_${qa_file}" + ${CMAKE_CURRENT_SOURCE_DIR}/${qa_file} + ) +endforeach(qa_file) -######################################################################## -# Print summary -######################################################################## -message(STATUS "Using install prefix: ${CMAKE_INSTALL_PREFIX}") -message(STATUS "Building for version: ${VERSION} / ${LIBVER}") diff --git a/gr-utils/python/modtool/gr-newmod/lib/qa_howto.cc b/gr-utils/python/modtool/gr-newmod/lib/qa_howto.cc deleted file mode 100644 index 2f10a3a564..0000000000 --- a/gr-utils/python/modtool/gr-newmod/lib/qa_howto.cc +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2012 Free Software Foundation, Inc. - * - * This file was generated by gr_modtool, a tool from the GNU Radio framework - * This file is a part of gr-howto - * - * GNU Radio 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, or (at your option) - * any later version. - * - * GNU Radio 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 GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -/* - * This class gathers together all the test cases for the gr-filter - * directory into a single test suite. As you create new test cases, - * add them here. - */ - -#include "qa_howto.h" - -CppUnit::TestSuite * -qa_howto::suite() -{ - CppUnit::TestSuite *s = new CppUnit::TestSuite("howto"); - - return s; -} diff --git a/gr-utils/python/modtool/gr-newmod/lib/qa_howto.h b/gr-utils/python/modtool/gr-newmod/lib/qa_howto.h deleted file mode 100644 index c50bde3ec7..0000000000 --- a/gr-utils/python/modtool/gr-newmod/lib/qa_howto.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2012 Free Software Foundation, Inc. - * - * This file was generated by gr_modtool, a tool from the GNU Radio framework - * This file is a part of gr-howto - * - * GNU Radio 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, or (at your option) - * any later version. - * - * GNU Radio 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 GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -#ifndef _QA_HOWTO_H_ -#define _QA_HOWTO_H_ - -#include <gnuradio/attributes.h> -#include <cppunit/TestSuite.h> - -//! collect all the tests for the gr-filter directory - -class __GR_ATTR_EXPORT qa_howto -{ - public: - //! return suite of tests for all of gr-filter directory - static CppUnit::TestSuite *suite(); -}; - -#endif /* _QA_HOWTO_H_ */ diff --git a/gr-utils/python/modtool/gr-newmod/lib/test_howto.cc b/gr-utils/python/modtool/gr-newmod/lib/test_howto.cc deleted file mode 100644 index 699bb5b640..0000000000 --- a/gr-utils/python/modtool/gr-newmod/lib/test_howto.cc +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2012 Free Software Foundation, Inc. - * - * This file was generated by gr_modtool, a tool from the GNU Radio framework - * This file is a part of gr-howto - * - * GNU Radio 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, or (at your option) - * any later version. - * - * GNU Radio 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 GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include <cppunit/TextTestRunner.h> -#include <cppunit/XmlOutputter.h> - -#include <gnuradio/unittests.h> -#include "qa_howto.h" -#include <iostream> -#include <fstream> - -int -main (int argc, char **argv) -{ - CppUnit::TextTestRunner runner; - std::ofstream xmlfile(get_unittest_path("howto.xml").c_str()); - CppUnit::XmlOutputter *xmlout = new CppUnit::XmlOutputter(&runner.result(), xmlfile); - - runner.addTest(qa_howto::suite()); - runner.setOutputter(xmlout); - - bool was_successful = runner.run("", false); - - return was_successful ? 0 : 1; -} diff --git a/gr-utils/python/modtool/modtool_add.py b/gr-utils/python/modtool/modtool_add.py index 2ff5a9ad30..9f128d2fde 100644 --- a/gr-utils/python/modtool/modtool_add.py +++ b/gr-utils/python/modtool/modtool_add.py @@ -1,5 +1,5 @@ # -# Copyright 2013, 2017 Free Software Foundation, Inc. +# Copyright 2013, 2017-2018 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -230,9 +230,27 @@ class ModToolAdd(ModTool): self.scm.mark_files_updated((self._file['qalib'],)) except IOError: print("Can't add C++ QA files.") + def _add_qa_boostutf(): + " Add C++ QA files for 3.8 API " + fname_qa_cc = 'qa_%s.cc' % self._info['blockname'] + self._write_tpl('qa_cpp_boostutf', 'lib', fname_qa_cc) + if not self._skip_cmakefiles: + try: + ed = CMakeFileEditor(self._file['cmlib']) + cmake_list_var = \ + 'test_{}_source'.format(self._info['modname']) + if not ed.append_value( + 'list', + fname_qa_cc, + to_ignore_start='APPEND ' + cmake_list_var): + print("Couldn't add C++ QA files.") + ed.write() + self.scm.mark_files_updated((self._file['cmlib'],)) + except IOError: + print("Can't add C++ QA files.") fname_cc = None fname_h = None - if self._info['version'] == '37': + if self._info['version'] in ('37', '38'): fname_h = self._info['blockname'] + '.h' fname_cc = self._info['blockname'] + '.cc' if self._info['blocktype'] in ('source', 'sink', 'sync', 'decimator', @@ -249,6 +267,8 @@ class ModToolAdd(ModTool): if self._add_cc_qa: if self._info['version'] == '37': _add_qa() + if self._info['version'] == '38': + _add_qa_boostutf() elif self._info['version'] == '36': print("Warning: C++ QA files not supported for 3.6-style OOTs.") elif self._info['version'] == 'autofoo': diff --git a/gr-utils/python/modtool/modtool_base.py b/gr-utils/python/modtool/modtool_base.py index 4263e498f7..41d83ccafb 100644 --- a/gr-utils/python/modtool/modtool_base.py +++ b/gr-utils/python/modtool/modtool_base.py @@ -1,5 +1,5 @@ # -# Copyright 2013 Free Software Foundation, Inc. +# Copyright 2013,2018 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -105,6 +105,8 @@ class ModTool(object): os.path.isdir(os.path.join('include', 'gnuradio', self._info['modname'])) ): self._info['version'] = '37' + if not os.path.isfile(os.path.join('cmake', 'Modules', 'FindCppUnit.cmake')): + self._info['version'] = '38' if options.skip_lib or not self._has_subdirs['lib']: self._skip_subdirs['lib'] = True if options.skip_python or not self._has_subdirs['python']: @@ -133,7 +135,7 @@ class ModTool(object): self._file['cmpython'] = os.path.join(self._info['pydir'], 'CMakeLists.txt') if self._info['is_component']: self._info['includedir'] = os.path.join('include', 'gnuradio', self._info['modname']) - elif self._info['version'] == '37': + elif self._info['version'] in ('37', '38'): self._info['includedir'] = os.path.join('include', self._info['modname']) else: self._info['includedir'] = 'include' diff --git a/gr-utils/python/modtool/modtool_disable.py b/gr-utils/python/modtool/modtool_disable.py index 556b2e1ab2..3a105e407c 100644 --- a/gr-utils/python/modtool/modtool_disable.py +++ b/gr-utils/python/modtool/modtool_disable.py @@ -83,6 +83,9 @@ class ModToolDisable(ModTool): ed.comment_out_lines(r'%s::suite\(\)' % fname_base, comment_str='//') ed.write() self.scm.mark_file_updated(self._file['qalib']) + elif self._info['version'] == '38': + fname_qa_cc = 'qa_{}.cc'.format(self._info['blockname']) + cmake.comment_out_lines(fname_qa_cc) elif self._info['version'] == '36': cmake.comment_out_lines('add_executable.*'+fname) cmake.comment_out_lines('target_link_libraries.*'+os.path.splitext(fname)[0]) @@ -99,7 +102,7 @@ class ModToolDisable(ModTool): print("Changing %s..." % self._file['swig']) if nsubs > 1: # Need to find a single BLOCK_MAGIC blockname = os.path.splitext(fname[len(self._info['modname'])+1:])[0] - if self._info['version'] == '37': + if self._info['version'] in ('37', '38'): blockname = os.path.splitext(fname)[0] (swigfile, nsubs) = re.subn('(GR_SWIG_BLOCK_MAGIC2?.+%s.+;)' % blockname, r'//\1', swigfile) if nsubs > 1: @@ -112,7 +115,7 @@ class ModToolDisable(ModTool): as well as the block magic """ swigfile = open(self._file['swig']).read() blockname = os.path.splitext(fname[len(self._info['modname'])+1:])[0] - if self._info['version'] == '37': + if self._info['version'] in ('37', '38'): blockname = os.path.splitext(fname)[0] swigfile = re.sub('(%include\s+"'+fname+'")', r'//\1', swigfile) print("Changing %s..." % self._file['swig']) @@ -133,7 +136,7 @@ class ModToolDisable(ModTool): for subdir in self._subdirs: if self._skip_subdirs[subdir]: continue - if self._info['version'] == '37' and subdir == 'include': + if self._info['version'] in ('37', '38') and subdir == 'include': subdir = 'include/%s' % self._info['modname'] try: cmake = CMakeFileEditor(os.path.join(subdir, 'CMakeLists.txt')) diff --git a/gr-utils/python/modtool/modtool_info.py b/gr-utils/python/modtool/modtool_info.py index bae6df36ed..2952a9c572 100644 --- a/gr-utils/python/modtool/modtool_info.py +++ b/gr-utils/python/modtool/modtool_info.py @@ -151,6 +151,7 @@ class ModToolInfo(ModTool): print(" API version: %s" % { '36': 'pre-3.7', '37': 'post-3.7', + '38': 'post-3.8', 'autofoo': 'Autotools (pre-3.5)' }[mod_info['version']]) else: diff --git a/gr-utils/python/modtool/modtool_makexml.py b/gr-utils/python/modtool/modtool_makexml.py index 90308d1b14..a6c4110f80 100644 --- a/gr-utils/python/modtool/modtool_makexml.py +++ b/gr-utils/python/modtool/modtool_makexml.py @@ -68,7 +68,7 @@ class ModToolMakeXML(ModTool): self.setup(options) # 1) Go through lib/ if not self._skip_subdirs['lib']: - if self._info['version'] == '37': + if self._info['version'] in ('37', '38'): files = self._search_files('lib', '*_impl.cc') else: files = self._search_files('lib', '*.cc') diff --git a/gr-utils/python/modtool/modtool_rm.py b/gr-utils/python/modtool/modtool_rm.py index 7395c99bea..55598a5090 100644 --- a/gr-utils/python/modtool/modtool_rm.py +++ b/gr-utils/python/modtool/modtool_rm.py @@ -80,6 +80,13 @@ class ModToolRemove(ModTool): r'\$\{CMAKE_CURRENT_SOURCE_DIR\}/%s' % filename, to_ignore_start='APPEND test_%s_sources' % self._info['modname']) self.scm.mark_file_updated(ed.filename) + elif self._info['version'] == '38': + (base, ext) = os.path.splitext(filename) + if ext == '.cc': + ed.remove_value( + 'list', filename, + to_ignore_start='APPEND test_%s_sources' % self._info['modname']) + self.scm.mark_file_updated(ed.filename) else: filebase = os.path.splitext(filename)[0] ed.delete_entry('add_executable', filebase) diff --git a/gr-utils/python/modtool/parser_cc_block.py b/gr-utils/python/modtool/parser_cc_block.py index fffdf309d8..dd5bbb6be7 100644 --- a/gr-utils/python/modtool/parser_cc_block.py +++ b/gr-utils/python/modtool/parser_cc_block.py @@ -209,7 +209,7 @@ class ParserCCBlock(object): continue return param_list # Go, go, go! - if self.version == '37': + if self.version in ('37', '38'): make_regex = 'static\s+sptr\s+make\s*' else: make_regex = '(?<=_API)\s+\w+_sptr\s+\w+_make_\w+\s*' diff --git a/gr-utils/python/modtool/templates.py b/gr-utils/python/modtool/templates.py index 10ee4a4e6c..420b7c63b5 100644 --- a/gr-utils/python/modtool/templates.py +++ b/gr-utils/python/modtool/templates.py @@ -1,5 +1,5 @@ # -# Copyright 2013-2014 Free Software Foundation, Inc. +# Copyright 2013-2014,2018 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -442,6 +442,25 @@ class ${blockname}(${parenttype}): ''' +# C++ file for QA (Boost UTF style) +Templates['qa_cpp_boostutf'] = '''/* -*- c++ -*- */ +${str_to_fancyc_comment(license)} + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <${include_dir_prefix}/${blockname}.h> +#include <gnuradio/attributes.h> +#include <boost/test/unit_test.hpp> + +BOOST_AUTO_TEST_CASE(test_${blockname}_t1) +{ + // Put test here +} + +''' + # C++ file for QA Templates['qa_cpp'] = '''/* -*- c++ -*- */ ${str_to_fancyc_comment(license)} |