1f6603c60Sopenharmony_ci/* Copyright (C) 2022 Huawei Device Co., Ltd. 2f6603c60Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 3f6603c60Sopenharmony_ci * you may not use this file except in compliance with the License. 4f6603c60Sopenharmony_ci * You may obtain a copy of the License at 5f6603c60Sopenharmony_ci * 6f6603c60Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 7f6603c60Sopenharmony_ci * 8f6603c60Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 9f6603c60Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 10f6603c60Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11f6603c60Sopenharmony_ci * See the License for the specific language governing permissions and 12f6603c60Sopenharmony_ci * limitations under the License. 13f6603c60Sopenharmony_ci */ 14f6603c60Sopenharmony_ci 15f6603c60Sopenharmony_ci#include <iostream> 16f6603c60Sopenharmony_ci#include <vector> 17f6603c60Sopenharmony_ci#include <cstring> 18f6603c60Sopenharmony_ci#include <dirent.h> 19f6603c60Sopenharmony_ci 20f6603c60Sopenharmony_ci#include "runtest.h" 21f6603c60Sopenharmony_ci 22f6603c60Sopenharmony_cistatic void GetTestNames(std::string path, std::vector<std::string>& tempName) 23f6603c60Sopenharmony_ci{ 24f6603c60Sopenharmony_ci DIR *pDir; 25f6603c60Sopenharmony_ci struct dirent* ptr; 26f6603c60Sopenharmony_ci std::string p; 27f6603c60Sopenharmony_ci if (!(pDir = opendir(path.c_str()))) { 28f6603c60Sopenharmony_ci std::cout << "Folder doesn't Exist!" << std::endl; 29f6603c60Sopenharmony_ci return; 30f6603c60Sopenharmony_ci } 31f6603c60Sopenharmony_ci while ((ptr = readdir(pDir)) != nullptr) { 32f6603c60Sopenharmony_ci if (ptr->d_type == DT_DIR) { 33f6603c60Sopenharmony_ci if (strcmp(ptr->d_name, ".") != 0 && strcmp(ptr->d_name, "..") != 0) { 34f6603c60Sopenharmony_ci GetTestNames(path + "/" + ptr->d_name, tempName); 35f6603c60Sopenharmony_ci } 36f6603c60Sopenharmony_ci } else { 37f6603c60Sopenharmony_ci if (strcmp(ptr->d_name, ".") != 0 && strcmp(ptr->d_name, "..") != 0) { 38f6603c60Sopenharmony_ci tempName.push_back(path + "/" + ptr->d_name); 39f6603c60Sopenharmony_ci } 40f6603c60Sopenharmony_ci } 41f6603c60Sopenharmony_ci } 42f6603c60Sopenharmony_ci closedir(pDir); 43f6603c60Sopenharmony_ci}