Ctest'in varsayılan olarak başarısız test sonuçlarını göstermesini istiyorum.CMake: ctest için bir çevre değişkeni ayarı (veya aksi takdirde ctest/make testinden otomatik olarak başarısız test çıktısı alınıyor)
$ make all test
ve cat Testing/Temporary/LastTest.log
zorunda kalmadan başarısız testlerin herhangi bir çıktı bkz: yani, ben çalıştırmak istiyorum.
yapmanın iki yolu vardır göründüğü:
(1) CTEST_OUTPUT_ON_FAILURE
çevre değişkeni ayarlanması:
$ CTEST_OUTPUT_ON_FAILURE=1 make all test
$ # or CTEST_OUTPUT_ON_FAILURE=1 ctest
(2) ctest
çağırma --output-on-failure
bayrağı belirtme:
$ ctest --output-on-failure
Bir CMakeLists.txt dosyası yazmanın, ctests dökümlerinin başarısız olduğu testlerin başarısız olduğu bir yol var mı? Çevresel değişkenleri oturumda global olarak ihraç etmek veya make check
(here açıklandığı gibi) gibi özel bir hedefe başvurmaktan kaçınmaktan normal bir "tüm testi yap" çağırma?
Ben SET_TESTS_PROPERTIES()
komuta farkındayım, ancak bu şekilde deneyerek:
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(testenv CXX)
ENABLE_TESTING()
ADD_EXECUTABLE(hello hello.cpp)
ADD_TEST(testhello hello)
# Following sets the environment variable for the shell in which the test
# progoram 'hello' is run, but not the shell in which ctest is run
SET_TESTS_PROPERTIES(testhello
PROPERTIES ENVIRONMENT "CTEST_OUTPUT_ON_FAILURE=1")
ve çevresel değişken değil de, test programı çalıştırılır kabukta ayarlandığını gösterir denemeler o ctest çalıştırılır shell
Teşekkürler. Faydalı yemek tarifi! – Jeet
Bir yığın, tam olarak aradığım şey için teşekkürler! 'Test' hedefini değiştirmek mümkün olmadığına dair bir fikriniz var mı? – lfxgroove
'Test' hedefi, değiştirilemeyen CMake'in genel varsayılan hedeflerinden biridir. CMake kaynağında kodlanmış olarak 'test' komutunun kurulması. – sakra