mirror of
https://github.com/deepinsight/insightface.git
synced 2025-12-30 16:12:27 +00:00
124 lines
3.2 KiB
C
124 lines
3.2 KiB
C
|
|
//
|
||
|
|
// 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
|