This commit is contained in:
parent
a25b0a1ded
commit
8892154b28
70 changed files with 2780 additions and 596 deletions
|
|
@ -1,5 +1,5 @@
|
|||
//SPDX-License-Identifier: LGPL-3.0-only
|
||||
//SPDX-FileCopyrightText: Copyright (C) 2026 Catcrafts®
|
||||
// SPDX-License-Identifier: LGPL-3.0-only
|
||||
// SPDX-FileCopyrightText: Copyright (C) 2026 Catcrafts®
|
||||
|
||||
import std;
|
||||
import Crafter.Build;
|
||||
|
|
@ -13,12 +13,12 @@ extern "C" int setenv(const char* name, const char* value, int overwrite);
|
|||
extern "C" int unsetenv(const char* name);
|
||||
|
||||
namespace {
|
||||
int failures = 0;
|
||||
std::int32_t Failures = 0;
|
||||
|
||||
void Check(bool cond, std::string_view msg) {
|
||||
if (!cond) {
|
||||
std::println(std::cerr, "FAIL: {}", msg);
|
||||
++failures;
|
||||
++Failures;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -84,8 +84,7 @@ int main() {
|
|||
cfg.target = "aarch64-linux-gnu";
|
||||
cfg.sysroot = "/opt/alarm-sysroot";
|
||||
TestRunner r = TestRunner::ForTarget(cfg);
|
||||
Check(r.exec.find("QEMU_LD_PREFIX=/opt/alarm-sysroot") != std::string::npos,
|
||||
"ForTarget propagates sysroot to QEMU_LD_PREFIX");
|
||||
Check(r.exec.find("QEMU_LD_PREFIX=/opt/alarm-sysroot") != std::string::npos, "ForTarget propagates sysroot to QEMU_LD_PREFIX");
|
||||
}
|
||||
{
|
||||
// From a Linux host the only sensible way to run x86_64-w64-mingw32 is wine.
|
||||
|
|
@ -101,17 +100,17 @@ int main() {
|
|||
{
|
||||
// Use a unique fake triple so we don't stomp on a real env var the
|
||||
// CI/dev shell may have set.
|
||||
const char* name = "CRAFTER_BUILD_RUNNER_fake_target_for_unit_test";
|
||||
setenv(name, "cmd:fake-tool", 1);
|
||||
const std::string name = "CRAFTER_BUILD_RUNNER_fake_target_for_unit_test";
|
||||
setenv(name.c_str(), "cmd:fake-tool", 1);
|
||||
TestRunner r = TestRunner::FromEnv("fake-target-for-unit-test", TestRunner::Local());
|
||||
Check(r.name == "cmd:fake-tool", "FromEnv reads CRAFTER_BUILD_RUNNER_<target>");
|
||||
unsetenv(name);
|
||||
unsetenv(name.c_str());
|
||||
TestRunner fallback = TestRunner::FromEnv("fake-target-for-unit-test", TestRunner::Local());
|
||||
Check(fallback.IsLocal(), "FromEnv falls back when env var is unset");
|
||||
}
|
||||
|
||||
if (failures > 0) {
|
||||
std::println(std::cerr, "{} assertions failed", failures);
|
||||
if (Failures > 0) {
|
||||
std::println(std::cerr, "{} assertions failed", Failures);
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue