xo-umbrella2/utest/init_gc_utest.cpp
Roland Conybeare 1387673f15 xo-gc: retire Collector.forward_inplace + mock x-gc utest
W/ MockCollector supporting AGCObjectVisitor facet
2026-04-07 21:16:55 -04:00

48 lines
1.1 KiB
C++

/** @file init_gc_utest.cpp
*
* @author Roland Conybeare, Apr 2026
**/
#include "init_gc_utest.hpp"
#include "MockCollector.hpp"
#include <xo/gc/init_gc.hpp>
#include <xo/facet/FacetRegistry.hpp>
#include <xo/indentlog/scope.hpp>
namespace xo {
using xo::mm::SetupGcUtest;
using xo::facet::FacetRegistry;
using xo::reflect::typeseq;
bool
SetupGcUtest::register_facets()
{
scope log(XO_DEBUG(true));
FacetRegistry::register_impl<AGCObjectVisitor, DMockCollector>();
log && log(xtag("DMockCollector.tseq", typeseq::id<DMockCollector>()));
return true;
}
void
InitSubsys<S_gc_utest_tag>::init()
{
SetupGcUtest::register_facets();
}
InitEvidence
InitSubsys<S_gc_utest_tag>::require() {
InitEvidence retval;
/* recursive subsystem deps for xo-gc/utest */
retval ^= InitSubsys<S_gc_tag>::require();
/* xo-gc/utest/'s own initialization code */
retval ^= Subsystem::provide<S_gc_utest_tag>("gc-utest", &init);
return retval;
}
}