1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- /*############################################################################
- # 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 <sstream>
- #include <string>
- #include <vector>
- void split_filter(std::vector<std::string>* positive,
- std::vector<std::string>* 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<std::string> const& positive,
- std::vector<std::string> 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();
- }
|