aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/vcpkg-tests/dependencies.cpp
blob: 0dee6f296ee2306eb4d55078ba8e35340f08abd3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <vcpkg-tests/catch.h>

#include <vcpkg/sourceparagraph.h>

using namespace vcpkg;
using Parse::parse_comma_list;

TEST_CASE ("parse depends", "[dependencies]")
{
    auto v = expand_qualified_dependencies(parse_comma_list("libA (windows)"));
    REQUIRE(v.size() == 1);
    REQUIRE(v.at(0).depend.name == "libA");
    REQUIRE(v.at(0).qualifier == "windows");
}

TEST_CASE ("filter depends", "[dependencies]")
{
    auto deps = expand_qualified_dependencies(parse_comma_list("libA (windows), libB, libC (uwp)"));
    auto v = filter_dependencies(deps, Triplet::X64_WINDOWS);
    REQUIRE(v.size() == 2);
    REQUIRE(v.at(0) == "libA");
    REQUIRE(v.at(1) == "libB");

    auto v2 = filter_dependencies(deps, Triplet::ARM_UWP);
    REQUIRE(v.size() == 2);
    REQUIRE(v2.at(0) == "libB");
    REQUIRE(v2.at(1) == "libC");
}