fixes ordered_semaphore test
This commit is contained in:
parent
34d4102422
commit
b9f2344981
@ -20,17 +20,12 @@ int sc_main(int argc, char* argv[]) {
|
|||||||
auto my_name = util::split(argv[0], '/').back();
|
auto my_name = util::split(argv[0], '/').back();
|
||||||
scc::init_logging(LogConfig().logLevel(getenv("SCC_TEST_VERBOSE")?log::DEBUG:log::INFO).logAsync(false));
|
scc::init_logging(LogConfig().logLevel(getenv("SCC_TEST_VERBOSE")?log::DEBUG:log::INFO).logAsync(false));
|
||||||
// create tracer
|
// 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);
|
scc::tracer trace(my_name, scc::tracer::file_type::TEXT, true);
|
||||||
// instantiate design(s)
|
// instantiate design(s)
|
||||||
factory::get_instance().create();
|
factory::get_instance().create();
|
||||||
// run tests
|
// run tests
|
||||||
int result = Catch::Session().run( argc, argv );
|
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)
|
// destroy design(s)
|
||||||
factory::get_instance().destroy();
|
factory::get_instance().destroy();
|
||||||
return result + sc_report_handler::get_count(SC_ERROR) + sc_report_handler::get_count(SC_WARNING);
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -160,6 +160,9 @@ TEST_CASE("pin level narrow burst", "[AXI][pin-level]") {
|
|||||||
|
|
||||||
run_scenario(state);
|
run_scenario(state);
|
||||||
|
|
||||||
|
REQUIRE(sc_report_handler::get_count(SC_ERROR) == 0);
|
||||||
|
REQUIRE(sc_report_handler::get_count(SC_WARNING) == 0);
|
||||||
|
|
||||||
REQUIRE(state.resp_cnt==4*state.NumberOfIterations);
|
REQUIRE(state.resp_cnt==4*state.NumberOfIterations);
|
||||||
for(auto& e: state.write_tx) {
|
for(auto& e: state.write_tx) {
|
||||||
auto const& send_tx = e.second.first;
|
auto const& send_tx = e.second.first;
|
||||||
|
@ -7,8 +7,9 @@
|
|||||||
|
|
||||||
using namespace sc_core;
|
using namespace sc_core;
|
||||||
|
|
||||||
class top: public sc_core::sc_module {
|
struct top: public sc_core::sc_module {
|
||||||
public:
|
top():top("top"){}
|
||||||
|
top(sc_module_name const& nm):sc_core::sc_module(nm) {}
|
||||||
scc::ordered_semaphore sem{"sem", 2};
|
scc::ordered_semaphore sem{"sem", 2};
|
||||||
scc::ordered_semaphore_t<2> sem_t{"sem_t"};
|
scc::ordered_semaphore_t<2> sem_t{"sem_t"};
|
||||||
};
|
};
|
||||||
@ -22,11 +23,13 @@ TEST_CASE("simple ordered_semaphore test", "[SCC][ordered_semaphore]") {
|
|||||||
dut.sem.wait();
|
dut.sem.wait();
|
||||||
dut.sem_t.wait();
|
dut.sem_t.wait();
|
||||||
dut.sem.set_capacity(4);
|
dut.sem.set_capacity(4);
|
||||||
dut.sem_t.set_capacity(4);
|
dut.sem_t.set_capacity(4); // should fail
|
||||||
dut.sem_t.post();
|
dut.sem_t.post();
|
||||||
dut.sem.post();
|
dut.sem.post();
|
||||||
});
|
});
|
||||||
|
|
||||||
sc_start(1_ns);
|
sc_start(1_ns);
|
||||||
REQUIRE(run1.terminated());
|
REQUIRE(run1.terminated());
|
||||||
|
REQUIRE(sc_report_handler::get_count(SC_ERROR) == 0);
|
||||||
|
REQUIRE(sc_report_handler::get_count(SC_WARNING) == 1);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user