mirror of
https://github.com/cemu-project/vcpkg.git
synced 2025-02-25 03:53:32 +01:00

Added capability for CONTROL files to specify qualified dependencies, which are substring searched inside triplet names. Fixed bug in internal 'build' command where if a package is already built, that built package's dependencies will be used to determine requirements for the build instead of the port directory's CONTROL file.
40 lines
1.2 KiB
C++
40 lines
1.2 KiB
C++
#include "CppUnitTest.h"
|
|
#include "SourceParagraph.h"
|
|
#include "triplet.h"
|
|
|
|
#pragma comment(lib,"version")
|
|
#pragma comment(lib,"winhttp")
|
|
|
|
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
|
|
|
|
using namespace vcpkg;
|
|
|
|
namespace UnitTest1
|
|
{
|
|
TEST_CLASS(DependencyTests)
|
|
{
|
|
public:
|
|
TEST_METHOD(parse_depends_one)
|
|
{
|
|
auto v = expand_qualified_dependencies(parse_depends("libA [windows]"));
|
|
Assert::AreEqual(size_t(1), v.size());
|
|
Assert::AreEqual("libA", v[0].name.c_str());
|
|
Assert::AreEqual("windows", v[0].qualifier.c_str());
|
|
}
|
|
|
|
TEST_METHOD(filter_depends)
|
|
{
|
|
auto deps = expand_qualified_dependencies(parse_depends("libA [windows], libB, libC [uwp]"));
|
|
auto v = filter_dependencies(deps, triplet::X64_WINDOWS);
|
|
Assert::AreEqual(size_t(2), v.size());
|
|
Assert::AreEqual("libA", v[0].c_str());
|
|
Assert::AreEqual("libB", v[1].c_str());
|
|
|
|
auto v2 = filter_dependencies(deps, triplet::ARM_UWP);
|
|
Assert::AreEqual(size_t(2), v.size());
|
|
Assert::AreEqual("libB", v2[0].c_str());
|
|
Assert::AreEqual("libC", v2[1].c_str());
|
|
}
|
|
};
|
|
}
|