草庐IT

run_test

全部标签

c++ - 为什么 valgrind 没有在我的 "test"程序中检测到内存泄漏?

整个测试代码包含在main.cpp中如下:#includeusingstd::cout;usingstd::endl;voidf(inti){int*pi=newint;*pi=i;std::cout我编译时没有优化-O0(来自EclipseQt项目):g++-c-pipe-O0-Wall-W-D_REENTRANT-DQT_NO_DEBUG-DQT_GUI_LIB-DQT_CORE_LIB-DQT_SHARED-I/usr/share/qt4/mkspecs/linux-g++-I.-I/usr/include/qt4/QtCore-I/usr/include/qt4/QtGui-I

c++ - 无法从 boost::asio::io_service::run 捕获异常

我在boost::asio上有一个TCP服务器,它监听连接并在获取连接后开始使用boost::asio::write在循环中发送数据block。boolTcpServer::StartTcpServer(std::shared_ptrio_service){m_ioservice=io_service;m_acceptor.reset(newboost::asio::ip::tcp::acceptor(*m_ioservice,boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(),m_port)));m_socket=std

c++ - boost 测试不 init_unit_test_suite

我运行这段代码#defineBOOST_TEST_MAIN#defineBOOST_TEST_DYN_LINK#include#include#include#includeusingnamespaceboost::unit_test;usingnamespacestd;voidTestFoo(){BOOST_CHECK(0==0);}test_suite*init_unit_test_suite(intargc,char*argv[]){std::coutadd(BOOST_TEST_CASE(&TestFoo));returnmaster_test_suite;}但是在运行时它说T

c++ - "The C++ compiler "/usr/bin/c++ "is not able to compile a simple test program."尝试安装 OpenCV 时

我正尝试按照此link在我的Mac上安装OpenCV但是,当我在终端上键入cmake-G"UnixMakefiles"..时,会打印出此错误。--TheCXXcompileridentificationisunknown--TheCcompileridentificationisunknown--CheckforworkingCXXcompiler:/usr/bin/c++--CheckforworkingCXXcompiler:/usr/bin/c++--brokenCMakeErrorat/opt/local/share/cmake-3.0/Modules/CMakeTestCXX

c++ - XCode 6.1 在 "Run Script"中使用 "Build Phases"时如何使用 ~/.bash_profile 环境变量?

我有一个用于C++的跨平台单元测试框架。为了在XCode6.1中构建和运行测试,我需要运行一个python脚本作为预构建脚本的一部分。由于我对多个项目使用相同的单元测试框架,所以我认为在我的~/.bash_profile中使用环境变量来指向python脚本所需的资源会很棒。但似乎XCode6.1在构建过程中运行脚本之前没有加载bash_profile。是否有使用bash_profile的替代方案?也许我可以将我的环境变量添加到XCode环境变量列表中?但这似乎随着OSX的每次更新而改变。我似乎无法弄清楚在哪里可以为XCode6.1添加环境变量。 最佳答案

c++ - 如何在没有竞争条件的情况下将 QFutureWatcher 与 QtConcurrent::run() 一起使用

如果我正确理解QFutureWatcher文档中的以下代码,那么在最后一行之间存在竞争条件://Instantiatetheobjectsandconnecttothefinishedsignal.MyClassmyObject;QFutureWatcherwatcher;connect(&watcher,SIGNAL(finished()),&myObject,SLOT(handleFinished()));//Startthecomputation.QFuturefuture=QtConcurrent::run(...);watcher.setFuture(future);如果Qt

c++ - io_service::run() 的专用线程

我想提供一个由一个全局线程驱动的全局io_service。很简单,我只是让线程主体调用io_service::run()。但是,这不起作用,因为run(run_one,poll,poll_one)如果没有工作则返回去做。但是,如果线程反复调用run(),就会在无事可做时忙循环。我正在寻找一种方法让线程在io_service中没有任何工作要做时阻塞。我可以在混合中添加一个全局事件,以便线程阻塞。但是,这将要求io_service的用户在每次使用该服务时通知该事件。不是理想的解决方案。注意:没有实际的全局变量,我从不使用事件进行并发我只是将问题简化为我的确切需要。真正的目标是一个不需要io

c++ - 不存在从 "test *"转换为 "test"的合适构造函数,构造函数,

我是c++的新手,我在构造函数和类方面遇到了困难。所以,这是我的头文件:#pragmaonce#includeusingnamespacestd;classtest{private:stringname;intnumber;public:test();test(stringi,intb);};这是cpp文件:#include"test.h"#includeusingnamespacestd;test::test(){}test::test(stringi,intb){this->name=i;this->number=b;}现在,当我尝试调用testt=newtest("rrr",8)

c++ - Google Test 找不到用户提供的相等运算符

我正在使用GoogleTestv1.7我创建了一个自定义的operator==,ASSERT_EQ找不到,但直接使用可以找到。这是代码#include#include#include"gtest/gtest.h"templatestructbar{Tb;};templatebooloperator==(conststd::vector&v,constbar&b){returnfalse;}templatebooloperator==(conststd::vector&v,conststd::deque&d){returnfalse;}TEST(A,B){std::vectorvec;s

c++ - 用 Boost::Test 模拟

我正在使用Boost::Test库进行单元测试,而且我一直在破解我自己的模拟解决方案,看起来像这样://InheaderforclientsstructRealFindFirstFile{staticHANDLEFindFirst(LPCWSTRlpFileName,LPWIN32_FIND_DATAWlpFindFileData){returnFindFirstFile(lpFileName,lpFindFileData);};};templateclassDirectoryIterator{//..Implementation}//Inunittests(cpp)#defineTH