mirror of
https://github.com/deepinsight/insightface.git
synced 2026-08-16 17:17:48 +00:00
Add the inspireface project to cpp-package.
This commit is contained in:
34
cpp-package/inspireface/cpp/test/settings/enviro.h
Normal file
34
cpp-package/inspireface/cpp/test/settings/enviro.h
Normal file
@@ -0,0 +1,34 @@
|
||||
//
|
||||
// Created by Tunm-Air13 on 2024/4/7.
|
||||
//
|
||||
#pragma once
|
||||
#ifndef INSPIREFACE_ENVIRO_H
|
||||
#define INSPIREFACE_ENVIRO_H
|
||||
|
||||
#include <string>
|
||||
|
||||
class Enviro {
|
||||
public:
|
||||
static Enviro& getInstance() {
|
||||
static Enviro instance;
|
||||
return instance;
|
||||
}
|
||||
|
||||
Enviro(Enviro const&) = delete;
|
||||
void operator=(Enviro const&) = delete;
|
||||
|
||||
std::string getPackName() const { return packName; }
|
||||
void setPackName(const std::string& name) { packName = name; }
|
||||
|
||||
const std::string &getTestResDir() const { return testResDir; }
|
||||
|
||||
void setTestResDir(const std::string &dir) { Enviro::testResDir = dir; }
|
||||
|
||||
private:
|
||||
Enviro() {}
|
||||
|
||||
std::string packName = "Pikachu";
|
||||
std::string testResDir = "test_res";
|
||||
};
|
||||
|
||||
#endif //INSPIREFACE_ENVIRO_H
|
||||
61
cpp-package/inspireface/cpp/test/settings/test_settings.cpp
Normal file
61
cpp-package/inspireface/cpp/test/settings/test_settings.cpp
Normal file
@@ -0,0 +1,61 @@
|
||||
//
|
||||
// Created by Tunm-Air13 on 2023/5/24.
|
||||
//
|
||||
|
||||
#include "test_settings.h"
|
||||
|
||||
|
||||
std::string getTestDataDir() {
|
||||
return Enviro::getInstance().getTestResDir();
|
||||
}
|
||||
|
||||
std::string getTestData(const std::string& name) {
|
||||
return getTestDataDir() + "/" + name;
|
||||
}
|
||||
|
||||
std::string getTestSaveDir() {
|
||||
return getTestData("save");
|
||||
}
|
||||
|
||||
std::string getTestSaveData(const std::string& name) {
|
||||
return getTestSaveDir() + "/" + name;
|
||||
}
|
||||
|
||||
std::string getTestModelsFile() {
|
||||
std::string path = "pack/";
|
||||
path = path + TEST_MODEL_FILE;
|
||||
return getTestData(path);
|
||||
}
|
||||
|
||||
std::string getTestLFWFunneledTxt() {
|
||||
return getTestData(TEST_LFW_FUNNELED_TXT);
|
||||
}
|
||||
|
||||
std::string getTestLFWFunneledEvaTxt() {
|
||||
return getLFWFunneledDir() + "/" + TEST_LFW_EVALUATION_TXT;
|
||||
}
|
||||
|
||||
std::string getLFWFunneledDir() {
|
||||
const char* testLfwFunneledDir = LFW_FUNNELED_DIR;
|
||||
std::string lfwFunneledPath;
|
||||
if (testLfwFunneledDir != nullptr && std::string(testLfwFunneledDir) != "") {
|
||||
lfwFunneledPath = testLfwFunneledDir;
|
||||
} else {
|
||||
const char* lfwFunneled = std::getenv("LFW_FUNNELED_DIR");
|
||||
if (lfwFunneled != nullptr) {
|
||||
lfwFunneledPath = lfwFunneled;
|
||||
}
|
||||
}
|
||||
if (lfwFunneledPath.empty()) {
|
||||
spdlog::warn("lfw funneled dir is empty!");
|
||||
}
|
||||
return lfwFunneledPath;
|
||||
}
|
||||
|
||||
std::string getBenchmarkRecordFile() {
|
||||
return getTestSaveData(TEST_BENCHMARK_RECORD);
|
||||
}
|
||||
|
||||
std::string getEvaluationRecordFile() {
|
||||
return getTestSaveData(TEST_EVALUATION_RECORD);
|
||||
}
|
||||
123
cpp-package/inspireface/cpp/test/settings/test_settings.h
Normal file
123
cpp-package/inspireface/cpp/test/settings/test_settings.h
Normal file
@@ -0,0 +1,123 @@
|
||||
//
|
||||
// Created by Tunm-Air13 on 2023/5/24.
|
||||
//
|
||||
#pragma once
|
||||
#ifndef BIGGUYSMAIN_TEST_SETTINGS_H
|
||||
#define BIGGUYSMAIN_TEST_SETTINGS_H
|
||||
#include <catch2/catch.hpp>
|
||||
#include <spdlog/spdlog.h>
|
||||
#include <iostream>
|
||||
#include "enviro.h"
|
||||
|
||||
|
||||
#define TEST_MODEL_FILE Enviro::getInstance().getPackName() // Optional model file
|
||||
#define SET_PACK_NAME(name) Enviro::getInstance().setPackName(name)
|
||||
#define SET_TEST_DIR(dir) Enviro::getInstance().setTestResDir(dir)
|
||||
|
||||
#define TEST_LFW_FUNNELED_TXT "valid_lfw_funneled.txt" // LFW Index txt file
|
||||
#define LFW_FUNNELED_DIR "" // LFW funneled data dir
|
||||
#define TEST_LFW_EVALUATION_TXT "pairs.txt"
|
||||
#define TEST_BENCHMARK_RECORD "benchmark.csv"
|
||||
#define TEST_EVALUATION_RECORD "evaluation.csv"
|
||||
|
||||
using namespace Catch::Detail;
|
||||
|
||||
#define TEST_PRINT(...) SPDLOG_LOGGER_CALL(spdlog::get("TEST"), spdlog::level::trace, __VA_ARGS__)
|
||||
#define TEST_PRINT_OUTPUT(open) TestMessageBroadcast test_msg_broadcast_##open(open)
|
||||
#define LOG_OUTPUT_LEVEL(level) LogLevelBroadcast log_level_broadcast_##level(level);
|
||||
|
||||
#define GET_DIR getTestDataDir()
|
||||
#define GET_DATA(filename) getTestData(filename)
|
||||
#define GET_MODEL_FILE() getTestModelsFile()
|
||||
#define GET_LFW_FUNNELED_TXT() getTestLFWFunneledTxt()
|
||||
|
||||
#define GET_SAVE_DIR getTestSaveDir()
|
||||
#define GET_SAVE_DATA(filename) getTestSaveData(filename)
|
||||
|
||||
std::string getTestDataDir();
|
||||
|
||||
std::string getTestData(const std::string &name);
|
||||
|
||||
std::string getTestSaveDir();
|
||||
|
||||
std::string getTestSaveData(const std::string &name);
|
||||
|
||||
std::string getTestModelsFile();
|
||||
|
||||
std::string getTestLFWFunneledTxt();
|
||||
|
||||
std::string getTestLFWFunneledEvaTxt();
|
||||
|
||||
std::string getLFWFunneledDir();
|
||||
|
||||
std::string getBenchmarkRecordFile();
|
||||
|
||||
std::string getEvaluationRecordFile();
|
||||
|
||||
/** Logger level */
|
||||
enum LOG_LEVEL {
|
||||
TRACE = 0, ///< trace
|
||||
DEBUG = 1, ///< debug
|
||||
INFO = 2, ///< information
|
||||
WARN = 3, ///< warn
|
||||
ERROR = 4, ///< error
|
||||
FATAL = 5, ///< fatal
|
||||
OFF = 6, ///< off
|
||||
};
|
||||
|
||||
class TestMessageBroadcast {
|
||||
public:
|
||||
explicit TestMessageBroadcast(bool open) : m_old_level(spdlog::level::trace) {
|
||||
auto logger = spdlog::get("TEST");
|
||||
m_old_level = logger->level();
|
||||
if (open) {
|
||||
if (m_old_level != spdlog::level::trace) {
|
||||
logger->set_level(spdlog::level::trace);
|
||||
}
|
||||
} else {
|
||||
if (m_old_level == spdlog::level::trace) {
|
||||
logger->set_level(spdlog::level::info);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
~TestMessageBroadcast() {
|
||||
spdlog::get("TEST")->set_level(m_old_level);
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
spdlog::level::level_enum m_old_level;
|
||||
};
|
||||
|
||||
|
||||
class LogLevelBroadcast {
|
||||
public:
|
||||
explicit LogLevelBroadcast(LOG_LEVEL level) {
|
||||
m_oldLevel = level;
|
||||
spdlog::set_level(spdlog::level::level_enum(level));
|
||||
}
|
||||
|
||||
~LogLevelBroadcast() {
|
||||
spdlog::set_level(spdlog::level::level_enum(spdlog::level::trace));
|
||||
}
|
||||
|
||||
private:
|
||||
LOG_LEVEL m_oldLevel;
|
||||
};
|
||||
|
||||
|
||||
|
||||
struct test_case_split {
|
||||
~test_case_split() {
|
||||
std::cout
|
||||
<< "==============================================================================="
|
||||
<< std::endl;
|
||||
}
|
||||
|
||||
|
||||
#define DRAW_SPLIT_LINE test_case_split split_line_x;
|
||||
|
||||
};
|
||||
|
||||
#endif //BIGGUYSMAIN_TEST_SETTINGS_H
|
||||
Reference in New Issue
Block a user