SDFM_CONROL_TEAST_EFC/EFC_PlatformC28xTest/main.cpp
2024-10-11 09:35:38 +03:00

109 lines
3.0 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* \file main.cpp
* \project EFC_PlatformC28x
* \Author leonidTitov
* \date 10 мая 2024 г.
*
*/
#define _DUAL_HEADERS // не влезай убъет
#include "UnitTestInterface.hh"
#include "AsyncRunnerInterface.hh"
#include "AsyncRunner.hh"
struct BaseResult : public umlib::tests::TestResult {
void assert_false( bool, std::string description );
void assert_true( bool, std::string description );
};
#include <sysctl.h>
#include <interrupt.h>
void init() {
Interrupt_disableGlobal();
Interrupt_disablePIE();
Interrupt_initModule();
Interrupt_initVectorTable();
Interrupt_enablePIE();
Interrupt_enableGlobal();
EINT;
ERTM;
}
#include <AsyncRunnerTest.hh>
#include <Atomic.hpp>
#include <AtomicTest.hpp>
#include <SdfmTest.hpp>
#include <VoltageMonitoring\SDFM.hpp>
/**
* \function run()
*/
int run()
{
// Создаем объект `BaseResult`, который будет хранить результаты тестов.
BaseResult result;
// Создаем объект `AsyncRunnerTest`, который будет тестировать класс `AsyncRunner`.
// В конструктор передаем единственный экземпляр класса `AsyncRunner` (platform::AsyncRunner::getInstance()).
umlib::tests::AsyncRunnerTest async_runner_test( platform::AsyncRunner::getInstance() );
// Запускаем тесты для `AsyncRunnerTest` с использованием `result` для хранения результатов.
async_runner_test.run(result);
// Создаем объект `AtomicFlagTest`, который будет тестировать класс `AtomicFlag` (вероятно, реализованный в `umlib::imp`).
// В конструктор также передаем единственный экземпляр класса `AsyncRunner`.
/* umlib::tests::AtomicFlagTest<umlib::imp::AtomicFlag> atomic_flag_tests( platform::AsyncRunner::getInstance() );
// Запускаем тесты для `AtomicFlagTest`, используя `result` для хранения результатов.
atomic_flag_tests.run(result);*/
// создаем экземпля Sdfm_tests
umlib::tests::SdfmTest<umlib::imp::Sdfm> Sdfm_tests;
// Тестирование Sdfm
Sdfm_tests.run(result); // Запускаем тесты для Sdfm
return 0;
}
#include <stdio.h>
/*!
* \brief Вся инициализация должна быть произведена в скрипте отладчика.
* \function main()
*
*/
int main(int argc, char * argv[]) {
printf("\n");
printf("Run PlatformC28x Tests:\n");
init();
return run();
}
void BaseResult::assert_false( bool check, std::string description ) {
printf("\"%s\": %s\n", description.c_str(), check ? "False" : "True");
}
void BaseResult::assert_true( bool check, std::string description ) {
printf("\"%s\": %s\n", description.c_str(), check ? "True" : "False");
}