diff options
author | Alexander Stein <alexander.stein@mailbox.org> | 2020-03-06 21:29:07 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2020-03-13 14:47:33 (GMT) |
commit | 0001339a6f92afcd0e49a262b3d2aae4a1ce8d46 (patch) | |
tree | 2d900b76b2c2a270201de2daf2f7e42cc8d1730c /Tests/RunCMake/GoogleTest/xml_output.cpp | |
parent | e9ab39eb1db8f072b030a929992df828bc05cc63 (diff) | |
download | CMake-0001339a6f92afcd0e49a262b3d2aae4a1ce8d46.zip CMake-0001339a6f92afcd0e49a262b3d2aae4a1ce8d46.tar.gz CMake-0001339a6f92afcd0e49a262b3d2aae4a1ce8d46.tar.bz2 |
GoogleTest: Add test case for XML_OUTPUT_DIR
Diffstat (limited to 'Tests/RunCMake/GoogleTest/xml_output.cpp')
-rw-r--r-- | Tests/RunCMake/GoogleTest/xml_output.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/Tests/RunCMake/GoogleTest/xml_output.cpp b/Tests/RunCMake/GoogleTest/xml_output.cpp new file mode 100644 index 0000000..e130231 --- /dev/null +++ b/Tests/RunCMake/GoogleTest/xml_output.cpp @@ -0,0 +1,26 @@ +#include <fstream> +#include <iostream> +#include <string> + +int main(int argc, char** argv) +{ + // Note: GoogleTestXML.cmake doesn't actually depend on Google Test as such; + // it only mimicks the output file creation using the path passed to this + // test without any content + for (int i = 0; i < argc; i++) { + std::string param(argv[i]); + if (param.find("--gtest_list_tests") != std::string::npos) { + // This actually defines the name of the file passed in the 2nd run + std::cout << "GoogleTestXML." << std::endl; + std::cout << " Foo" << std::endl; + } else if (param.find("--gtest_output=xml:") != std::string::npos) { + std::string::size_type split = param.find(":"); + std::string filepath = param.substr(split + 1); + // The full file path is passed + std::ofstream ostrm(filepath.c_str(), std::ios::binary); + ostrm << "--gtest_output=xml: mockup file\n"; + } + } + + return 0; +} |