1 /* 2 * Copyright (c) 2024 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #include <stack> 17 #include <string> 18 #include <iostream> 19 #include "logger.h" 20 21 #include "./check_mock.h" 22 23 std::stack<std::string> g_calledFuncs; 24 CheckMockedApi(const std::string & apiName)25bool CheckMockedApi(const std::string &apiName) 26 { 27 if (g_calledFuncs.empty()) { 28 return false; 29 } 30 auto apiStr = std::move(g_calledFuncs.top()); 31 LIBABCKIT_LOG(DEBUG) << "TOP NAME " << apiStr << "\n"; 32 g_calledFuncs.pop(); 33 return apiStr == apiName; 34 } 35 CheckMockedStackEmpty()36bool CheckMockedStackEmpty() 37 { 38 if (!g_calledFuncs.empty()) { 39 std::cerr << "Stack remains: " << std::endl; 40 while (!g_calledFuncs.empty()) { 41 std::cerr << g_calledFuncs.top() << std::endl; 42 g_calledFuncs.pop(); 43 } 44 return false; 45 } 46 return g_calledFuncs.empty(); 47 } 48