Working test runner!!!
This commit is contained in:
@@ -1 +1,4 @@
|
||||
idf_component_register(SRCS "catch_runner.cpp" INCLUDE_DIRS "include")
|
||||
idf_component_register(
|
||||
SRCS "catch_runner.cpp"
|
||||
INCLUDE_DIRS "include"
|
||||
REQUIRES "console")
|
||||
|
||||
@@ -3,8 +3,28 @@
|
||||
#define CATCH_CONFIG_RUNNER
|
||||
#include "catch2/catch.hpp"
|
||||
|
||||
void run_catch(void) {
|
||||
int argc = 1;
|
||||
char *argv = "catch2";
|
||||
Catch::Session().run( argc, &argv );
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include "esp_console.h"
|
||||
#include "esp_log.h"
|
||||
#include "esp_system.h"
|
||||
|
||||
// There must be exactly on Session instance at all times; attempting to destroy
|
||||
// this will result in memory corruption.
|
||||
static Catch::Session sCatchSession;
|
||||
|
||||
int exec_catch2(int argc, char** argv) {
|
||||
// Reset the existing configuration before applying a new one. Otherwise we
|
||||
// will get the combination of all configs.
|
||||
sCatchSession.configData() = Catch::ConfigData();
|
||||
|
||||
int result = sCatchSession.applyCommandLine(argc, argv);
|
||||
if (result != 0) {
|
||||
return result;
|
||||
}
|
||||
|
||||
// Returns number of failures.
|
||||
int failures = sCatchSession.run();
|
||||
|
||||
return failures > 0;
|
||||
}
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
void run_catch(void);
|
||||
/*
|
||||
* Executes the Catch2 test runner as if called from the commandline on a
|
||||
* standard unix-y system.
|
||||
*/
|
||||
int exec_catch2(int argc, char **argv);
|
||||
|
||||
Reference in New Issue
Block a user