Skip to content

Commit 84212c1

Browse files
committed
Update test_register.cpp
1 parent 4e76dd6 commit 84212c1

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

buildcc/lib/args/test/test_register.cpp

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,49 @@ TEST(RegisterTestGroup, Register_Build) {
138138
mock().checkExpectations();
139139
}
140140

141+
TEST(RegisterTestGroup, Register_Run_PostCb) {
142+
std::vector<const char *> av{
143+
"",
144+
"--config",
145+
"configs/basic_parse.toml",
146+
};
147+
int argc = av.size();
148+
149+
buildcc::ArgToolchain gcc_toolchain;
150+
buildcc::ArgToolchain msvc_toolchain;
151+
buildcc::Args::Init()
152+
.AddToolchain("gcc", "Generic gcc toolchain", gcc_toolchain)
153+
.AddToolchain("msvc", "Generic msvc toolchain", msvc_toolchain)
154+
.Parse(argc, av.data());
155+
156+
STRCMP_EQUAL(buildcc::Args::GetProjectRootDir().string().c_str(), "root");
157+
STRCMP_EQUAL(buildcc::Args::GetProjectBuildDir().string().c_str(), "build");
158+
CHECK(buildcc::Args::GetLogLevel() == buildcc::env::LogLevel::Trace);
159+
CHECK_TRUE(buildcc::Args::Clean());
160+
161+
// Make dummy toolchain and target
162+
buildcc::Project::Init(fs::current_path(), fs::current_path());
163+
buildcc::Toolchain toolchain(buildcc::ToolchainId::Gcc, "", "", "", "", "",
164+
"");
165+
buildcc::BaseTarget target("dummyT", buildcc::TargetType::Executable,
166+
toolchain, "");
167+
168+
{
169+
buildcc::ArgToolchainState state{false, false};
170+
171+
buildcc::Reg::Init();
172+
buildcc::Reg::Toolchain(state).Build(
173+
[](buildcc::BaseTarget &target) { (void)target; }, target);
174+
175+
mock().expectOneCall("Build_PostCb");
176+
buildcc::Reg::Run([]() { mock().actualCall("Build_PostCb"); });
177+
buildcc::Reg::Deinit();
178+
}
179+
180+
buildcc::Project::Deinit();
181+
mock().checkExpectations();
182+
}
183+
141184
TEST(RegisterTestGroup, Register_NoBuildAndDep) {
142185
std::vector<const char *> av{
143186
"",

0 commit comments

Comments
 (0)