OS X El CapitanでCTestとBoost 1.61.0を使用して最近作成されたプロジェクトでこのエラーが発生します。Boost.TestとCTestでパラメータcolor_outputに引数が指定されていません
ですcore/tests/CMakeLists.txt
にある私のテストのCMakeLists.txt
、:
find_package(Boost 1.32 REQUIRED COMPONENTS unit_test_framework)
include_directories(${Boost_INCLUDE_DIRS})
add_executable(EntryTest entry.spec.cpp)
target_link_libraries(EntryTest core ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
add_test(EntryTest EntryTest)
そして、実際のダミーテスト、core/tests/entry.spec.cpp
にあります:
#define BOOST_TEST_MAIN
#include <boost/test/included/unit_test.hpp>
BOOST_AUTO_TEST_SUITE (EntryTest)
BOOST_AUTO_TEST_CASE(ShouldPass) {
BOOST_CHECK_EQUAL(1, 1);
}
BOOST_AUTO_TEST_SUITE_END()
CTESTレポート:私は「
$ cat Testing/Temporary/LastTest.log
Start testing: Aug 26 13:05 BOT
----------------------------------------------------------
1/1 Testing: EntryTest
1/1 Test: EntryTest
Command: "/Users/jviotti/Projects/timetrack/build/core/tests/EntryTest"
Directory: /Users/jviotti/Projects/timetrack/build/core/tests
"EntryTest" start time: Aug 26 13:05 BOT
Output:
----------------------------------------------------------
Test setup error: boost::runtime::access_to_missing_argument: There is no argument provided for parameter color_output
<end of output>
Test time = 0.01 sec
----------------------------------------------------------
Test Failed.
"EntryTest" end time: Aug 26 13:05 BOT
"EntryTest" time elapsed: 00:00:00
----------------------------------------------------------
End testing: Aug 26 13:05 BOT
うまく調整しようとしましたcolor_output
wi (see this documentation page)の--color_output
オプションとBOOST_TEST_COLOR_OUTPUT
環境変数の両方を使用してください。そのようなオプションの値を渡しても、エラーは継続します。
好奇心旺盛なことは、私は手動でおそらくCMakeの構成の問題を示し、テストファイルをコンパイルした場合、テストはうまく動作することです:私は間違って何をやっている
$ clang++ -L/usr/local/Cellar/boost/1.61.0_1/lib -I/usr/local/Cellar/boost/1.61.0_1/include core/tests/entry.spec.cpp
$ ./a.out
Running 1 test case...
*** No errors detected
を?
'VERBOSE = 1'でビルドしましたか?たぶんこれが違いを特定するのに役立つかもしれません。 – usr1234567
ここに冗長なmake出力があります:http://pastebin.com/em0Gidbe。面白い何かを止めることができないようです。 – jviotti