aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2018-01-23 02:36:39 -0800
committerRobert Schumacher <roschuma@microsoft.com>2018-01-23 02:36:39 -0800
commit78d3302940f6c11a220008215b6f67daa8cc8bb7 (patch)
treea8b4201a61e7e9bf46f8a49bfe30b43d55d0c2ae /toolsrc/src
parentff8a2d17266f1c601d04ac7b3c3e85ad674c8491 (diff)
downloadvcpkg-78d3302940f6c11a220008215b6f67daa8cc8bb7.tar.gz
vcpkg-78d3302940f6c11a220008215b6f67daa8cc8bb7.zip
[vcpkg] Remove overload of StatusParagraphs::find_installed()
Diffstat (limited to 'toolsrc/src')
-rw-r--r--toolsrc/src/tests.plan.cpp7
-rw-r--r--toolsrc/src/tests.statusparagraphs.cpp10
-rw-r--r--toolsrc/src/tests.utils.cpp7
-rw-r--r--toolsrc/src/vcpkg/build.cpp6
-rw-r--r--toolsrc/src/vcpkg/statusparagraphs.cpp15
5 files changed, 27 insertions, 18 deletions
diff --git a/toolsrc/src/tests.plan.cpp b/toolsrc/src/tests.plan.cpp
index 67abf8de0..86386be14 100644
--- a/toolsrc/src/tests.plan.cpp
+++ b/toolsrc/src/tests.plan.cpp
@@ -504,13 +504,6 @@ namespace UnitTest1
}
};
- static PackageSpec unsafe_pspec(std::string name, Triplet t = Triplet::X86_WINDOWS)
- {
- auto m_ret = PackageSpec::from_name_and_triplet(name, t);
- Assert::IsTrue(m_ret.has_value());
- return m_ret.value_or_exit(VCPKG_LINE_INFO);
- }
-
class RemovePlanTests : public TestClass<RemovePlanTests>
{
TEST_METHOD(basic_remove_scheme)
diff --git a/toolsrc/src/tests.statusparagraphs.cpp b/toolsrc/src/tests.statusparagraphs.cpp
index ed6eaa764..0d5324a8c 100644
--- a/toolsrc/src/tests.statusparagraphs.cpp
+++ b/toolsrc/src/tests.statusparagraphs.cpp
@@ -1,5 +1,7 @@
#include "tests.pch.h"
+#include <tests.utils.h>
+
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
using namespace vcpkg;
@@ -25,7 +27,7 @@ Status: install ok installed
StatusParagraphs status_db(Util::fmap(
*pghs.get(), [](RawParagraph& rpgh) { return std::make_unique<StatusParagraph>(std::move(rpgh)); }));
- auto it = status_db.find_installed("ffmpeg", Triplet::X64_WINDOWS);
+ auto it = status_db.find_installed(unsafe_pspec("ffmpeg", Triplet::X64_WINDOWS));
Assert::IsTrue(it != status_db.end());
}
@@ -45,7 +47,7 @@ Status: purge ok not-installed
StatusParagraphs status_db(Util::fmap(
*pghs.get(), [](RawParagraph& rpgh) { return std::make_unique<StatusParagraph>(std::move(rpgh)); }));
- auto it = status_db.find_installed("ffmpeg", Triplet::X64_WINDOWS);
+ auto it = status_db.find_installed(unsafe_pspec("ffmpeg", Triplet::X64_WINDOWS));
Assert::IsTrue(it == status_db.end());
}
@@ -73,8 +75,8 @@ Status: purge ok not-installed
StatusParagraphs status_db(Util::fmap(
*pghs.get(), [](RawParagraph& rpgh) { return std::make_unique<StatusParagraph>(std::move(rpgh)); }));
- auto it = status_db.find_installed("ffmpeg", Triplet::X64_WINDOWS);
+ auto it = status_db.find_installed(unsafe_pspec("ffmpeg", Triplet::X64_WINDOWS));
Assert::IsTrue(it != status_db.end());
}
};
-} \ No newline at end of file
+}
diff --git a/toolsrc/src/tests.utils.cpp b/toolsrc/src/tests.utils.cpp
index d155c7238..19e877920 100644
--- a/toolsrc/src/tests.utils.cpp
+++ b/toolsrc/src/tests.utils.cpp
@@ -59,3 +59,10 @@ std::unique_ptr<StatusParagraph> make_status_feature_pgh(const char* name,
{"Depends", depends},
{"Status", "install ok installed"}});
}
+
+PackageSpec unsafe_pspec(std::string name, Triplet t)
+{
+ auto m_ret = PackageSpec::from_name_and_triplet(name, t);
+ Assert::IsTrue(m_ret.has_value());
+ return m_ret.value_or_exit(VCPKG_LINE_INFO);
+}
diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp
index 960ba0400..d583a409e 100644
--- a/toolsrc/src/vcpkg/build.cpp
+++ b/toolsrc/src/vcpkg/build.cpp
@@ -269,10 +269,10 @@ namespace vcpkg::Build
std::vector<PackageSpec> missing_specs;
for (auto&& dep : filter_dependencies(config.scf.core_paragraph->depends, triplet))
{
- if (status_db.find_installed(dep, triplet) == status_db.end())
+ auto spec = PackageSpec::from_name_and_triplet(dep, triplet).value_or_exit(VCPKG_LINE_INFO);
+ if (!status_db.is_installed(spec))
{
- missing_specs.push_back(
- PackageSpec::from_name_and_triplet(dep, triplet).value_or_exit(VCPKG_LINE_INFO));
+ missing_specs.push_back(spec);
}
}
// Fail the build if any dependencies were missing
diff --git a/toolsrc/src/vcpkg/statusparagraphs.cpp b/toolsrc/src/vcpkg/statusparagraphs.cpp
index 61c04d72a..fb5267b95 100644
--- a/toolsrc/src/vcpkg/statusparagraphs.cpp
+++ b/toolsrc/src/vcpkg/statusparagraphs.cpp
@@ -65,16 +65,23 @@ namespace vcpkg
});
}
- StatusParagraphs::const_iterator StatusParagraphs::find_installed(const std::string& name,
- const Triplet& triplet) const
+ StatusParagraphs::const_iterator StatusParagraphs::find_installed(const PackageSpec& spec) const
{
- const const_iterator it = find(name, triplet);
+ auto it = find(spec);
if (it != end() && (*it)->is_installed())
{
return it;
}
+ else
+ {
+ return end();
+ }
+ }
- return end();
+ bool vcpkg::StatusParagraphs::is_installed(const PackageSpec& spec) const
+ {
+ auto it = find(spec);
+ return it != end() && (*it)->is_installed();
}
StatusParagraphs::iterator StatusParagraphs::insert(std::unique_ptr<StatusParagraph> pgh)