37 lines
1.1 KiB
C++
37 lines
1.1 KiB
C++
/*
|
|
* sc_main.cpp
|
|
*
|
|
* Created on:
|
|
* Author:
|
|
*/
|
|
|
|
#include "factory.h"
|
|
#include <catch2/catch_session.hpp>
|
|
#include <scc/report.h>
|
|
#include <scc/trace.h>
|
|
#include <scc/tracer.h>
|
|
#include <util/ities.h>
|
|
#include <cstdlib>
|
|
|
|
using namespace scc;
|
|
using namespace sc_core;
|
|
|
|
int sc_main(int argc, char* argv[]) {
|
|
auto my_name = util::split(argv[0], '/').back();
|
|
scc::init_logging(LogConfig().logLevel(getenv("SCC_TEST_VERBOSE")?log::DEBUG:log::INFO).logAsync(false));
|
|
// create tracer
|
|
//auto trc = scc::create_fst_trace_file(my_name.c_str());
|
|
//auto trc = scc::create_vcd_pull_trace_file(my_name.c_str());
|
|
scc::tracer trace(my_name, scc::tracer::file_type::TEXT, true);
|
|
// instantiate design(s)
|
|
factory::get_instance().create();
|
|
// run tests
|
|
int result = Catch::Session().run( argc, argv );
|
|
// close trace file
|
|
//scc::close_fst_trace_file(trc);
|
|
//scc::close_vcd_pull_trace_file(trc);
|
|
// destroy design(s)
|
|
factory::get_instance().destroy();
|
|
return result + sc_report_handler::get_count(SC_ERROR) + sc_report_handler::get_count(SC_WARNING);
|
|
}
|