[M5] cargoxx add without version (wildcard)

This commit is contained in:
2026-05-10 00:56:15 +00:00
parent 8b87d98083
commit b0818846b2
5 changed files with 41 additions and 18 deletions

View File

@@ -61,13 +61,28 @@ TEST_CASE("cmd_add stores components when provided", "[cli][add]") {
std::vector<std::string>{"filesystem", "system"});
}
TEST_CASE("cmd_add rejects an empty version", "[cli][add]") {
TEST_CASE("cmd_add accepts an empty version and stores '*'", "[cli][add]") {
auto parent = fresh_dir();
auto root = scaffold(parent);
auto r = cmd_add(root, "fmt", "", {}, overlay_path(parent));
REQUIRE(r.has_value());
auto m = manifest::parse(root / "Cargoxx.toml");
REQUIRE(m.has_value());
REQUIRE(m->dependencies.size() == 1);
REQUIRE(m->dependencies[0].name == "fmt");
REQUIRE(m->dependencies[0].version_spec == "*");
}
TEST_CASE("cmd_add with wildcard version still rejects unknown packages",
"[cli][add]") {
auto parent = fresh_dir();
auto root = scaffold(parent);
auto r = cmd_add(root, "obscurelib", "", {}, overlay_path(parent));
REQUIRE_FALSE(r.has_value());
REQUIRE(r.error().code == ErrorCode::ManifestVersionInvalid);
REQUIRE(r.error().code == ErrorCode::LinkdbUnknownPackage);
}
TEST_CASE("cmd_add rejects an unknown package", "[cli][add]") {