109 lines
3.0 KiB
C++
109 lines
3.0 KiB
C++
/**
|
||
* \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");
|
||
|
||
}
|