diff options
author | alexv-smirnov <alex@ydb.tech> | 2023-03-16 13:59:59 +0300 |
---|---|---|
committer | alexv-smirnov <alex@ydb.tech> | 2023-03-16 13:59:59 +0300 |
commit | 648fc9d7949c88a6ebaaf110289b8b4536bb9a16 (patch) | |
tree | c46c89a2e46516c986af3e4ecb44d927bbdfcbac /library/cpp/testing/unittest/utmain.cpp | |
parent | 4568fe3f6ddb72499ef17f5e0a1e7e2475a9570b (diff) | |
download | ydb-648fc9d7949c88a6ebaaf110289b8b4536bb9a16.tar.gz |
JUnitXML output for unittest
Diffstat (limited to 'library/cpp/testing/unittest/utmain.cpp')
-rw-r--r-- | library/cpp/testing/unittest/utmain.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/library/cpp/testing/unittest/utmain.cpp b/library/cpp/testing/unittest/utmain.cpp index a55b6f399b..4e10da24e5 100644 --- a/library/cpp/testing/unittest/utmain.cpp +++ b/library/cpp/testing/unittest/utmain.cpp @@ -1,3 +1,4 @@ +#include "junit.h" #include "plugin.h" #include "registar.h" #include "utmain.h" @@ -668,6 +669,16 @@ int NUnitTest::RunMain(int argc, char** argv) { }; EListType listTests = DONT_LIST; + TString oo(getenv("Y_UNITTEST_OUTPUT")); + if (oo.StartsWith("xml:")) { + TStringBuf fileName = oo; + fileName = fileName.SubString(4, TStringBuf::npos); + processor.BeQuiet(); + NUnitTest::ShouldColorizeDiff = false; + processor.SetTraceProcessor(new TJUnitProcessor(TString(fileName), argv[0])); + } + + for (size_t i = 1; i < (size_t)argc; ++i) { const char* name = argv[i]; @@ -723,6 +734,17 @@ int NUnitTest::RunMain(int argc, char** argv) { TString param(argv[i]); size_t assign = param.find('='); Singleton<::NPrivate::TTestEnv>()->AddTestParam(param.substr(0, assign), param.substr(assign + 1)); + } else if (strcmp(name, "--output") == 0) { + ++i; + Y_ENSURE((int)i < argc); + TString param(argv[i]); + if (param.StartsWith("xml:")) { + TStringBuf fileName = param; + fileName = fileName.SubString(4, TStringBuf::npos); + processor.BeQuiet(); + NUnitTest::ShouldColorizeDiff = false; + processor.SetTraceProcessor(new TJUnitProcessor(TString(fileName), argv[0])); + } } else if (TString(name).StartsWith("--")) { return DoUsage(argv[0]), 1; } else if (*name == '-') { |