/*############################################################################ # Copyright 2017 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. ############################################################################*/ /*! * \file * \brief Main entry point helpers unit tests. */ #include "epid/common-testhelper/testapp-testhelper.h" #include #include #include void split_filter(std::vector* positive, std::vector* negative, std::string filter_expr) { std::istringstream f(filter_expr); std::string s; bool is_neg = false; while (getline(f, s, ':')) { if (!is_neg) { if (s.compare(0, 1, "-") == 0) { is_neg = true; s = s.substr(1); } else { positive->push_back(s); } } if (is_neg) { negative->push_back(s); } } } std::string join_filter(std::vector const& positive, std::vector const& negative) { std::ostringstream s; bool first = true; bool first_neg = true; if (!positive.empty() || !negative.empty()) { s << "--gtest_filter="; } for (const auto& i : positive) { if (!first) { s << ":"; } else { first = false; } s << i; } for (const auto& i : negative) { if (!first) { s << ":"; } else { first = false; } if (first_neg) { s << "-"; first_neg = false; } s << i; } return s.str(); }