[M5] verify-curated-db.sh + boost recipe (header-only)
This commit is contained in:
@@ -49,16 +49,16 @@ TEST_CASE("cmd_add stores components when provided", "[cli][add]") {
|
||||
auto parent = fresh_dir();
|
||||
auto root = scaffold(parent);
|
||||
|
||||
auto r = cmd_add(root, "boost", "1.84.0", {"filesystem", "system"},
|
||||
auto r = cmd_add(root, "abseil-cpp", "20240116.0", {"strings", "base"},
|
||||
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 == "boost");
|
||||
REQUIRE(m->dependencies[0].name == "abseil-cpp");
|
||||
REQUIRE(m->dependencies[0].components ==
|
||||
std::vector<std::string>{"filesystem", "system"});
|
||||
std::vector<std::string>{"strings", "base"});
|
||||
}
|
||||
|
||||
TEST_CASE("cmd_add accepts an empty version and stores '*'", "[cli][add]") {
|
||||
@@ -110,7 +110,7 @@ TEST_CASE("cmd_add rejects componentized package without components",
|
||||
auto parent = fresh_dir();
|
||||
auto root = scaffold(parent);
|
||||
|
||||
auto r = cmd_add(root, "boost", "1.84.0", {}, overlay_path(parent));
|
||||
auto r = cmd_add(root, "abseil-cpp", "20240116.0", {}, overlay_path(parent));
|
||||
REQUIRE_FALSE(r.has_value());
|
||||
REQUIRE(r.error().code == ErrorCode::LinkdbComponentNotSupported);
|
||||
}
|
||||
|
||||
@@ -104,16 +104,16 @@ TEST_CASE("cmd_build resolves a componentized dep", "[cli][build]") {
|
||||
auto parent = fresh_dir();
|
||||
REQUIRE(cmd_new("app", false, parent).has_value());
|
||||
auto root = parent / "app";
|
||||
add_dep(root, "boost", "1.84.0", {"filesystem", "system"});
|
||||
add_dep(root, "abseil-cpp", "20240116.0", {"strings", "base"});
|
||||
|
||||
auto r = cmd_build(root, true, false, std::nullopt, overlay_path(parent));
|
||||
REQUIRE(r.has_value());
|
||||
|
||||
auto cmake_text = read_file(root / "build" / "CMakeLists.txt");
|
||||
REQUIRE(cmake_text.find("find_package(Boost REQUIRED COMPONENTS filesystem system)") !=
|
||||
REQUIRE(cmake_text.find("find_package(absl CONFIG REQUIRED)") !=
|
||||
std::string::npos);
|
||||
REQUIRE(cmake_text.find("Boost::filesystem") != std::string::npos);
|
||||
REQUIRE(cmake_text.find("Boost::system") != std::string::npos);
|
||||
REQUIRE(cmake_text.find("absl::strings") != std::string::npos);
|
||||
REQUIRE(cmake_text.find("absl::base") != std::string::npos);
|
||||
}
|
||||
|
||||
TEST_CASE("cmd_build synthesizes a lockfile entry per dep", "[cli][build]") {
|
||||
|
||||
@@ -56,19 +56,19 @@ TEST_CASE("resolve fails for an unknown package", "[linkdb]") {
|
||||
REQUIRE(rec.error().code == ErrorCode::LinkdbUnknownPackage);
|
||||
}
|
||||
|
||||
TEST_CASE("resolve substitutes boost components", "[linkdb]") {
|
||||
TEST_CASE("resolve substitutes abseil-cpp components", "[linkdb]") {
|
||||
auto db = open_db();
|
||||
auto rec = db.resolve("boost", "1.84.0", {"filesystem", "system"});
|
||||
auto rec = db.resolve("abseil-cpp", "20240116.0", {"strings", "base"});
|
||||
REQUIRE(rec.has_value());
|
||||
REQUIRE(rec->find_package == "Boost REQUIRED COMPONENTS filesystem system");
|
||||
REQUIRE(rec->find_package == "absl CONFIG REQUIRED");
|
||||
REQUIRE(rec->targets ==
|
||||
std::vector<std::string>{"Boost::filesystem", "Boost::system"});
|
||||
std::vector<std::string>{"absl::strings", "absl::base"});
|
||||
}
|
||||
|
||||
TEST_CASE("resolve fails when a componentized package gets no components",
|
||||
"[linkdb]") {
|
||||
auto db = open_db();
|
||||
auto rec = db.resolve("boost", "1.84.0");
|
||||
auto rec = db.resolve("abseil-cpp", "20240116.0");
|
||||
REQUIRE_FALSE(rec.has_value());
|
||||
REQUIRE(rec.error().code == ErrorCode::LinkdbComponentNotSupported);
|
||||
}
|
||||
@@ -102,7 +102,7 @@ TEST_CASE("resolve covers all 25 curated packages", "[linkdb]") {
|
||||
{"fmt", "10.2.0", {}},
|
||||
{"spdlog", "1.13.0", {}},
|
||||
{"nlohmann_json", "3.11.0", {}},
|
||||
{"boost", "1.84.0", {"system"}},
|
||||
{"boost", "1.84.0", {}},
|
||||
{"openssl", "3.2.0", {}},
|
||||
{"zlib", "1.3.0", {}},
|
||||
{"sqlite3", "3.45.0", {}},
|
||||
|
||||
Reference in New Issue
Block a user