return ifx # destroy order! chaos reigns! sditems = lambda x: set(frozenset(d.iteritems()) for d in x) def check_case(nm, pkgs, ifcs, exp): repo = Repo(pkgs) obs = sditems(solve(repo, ifcs)) assert_equal(obs, sditems(exp)) cases = ( # 1 pkg, no deps ("#0", {"zlib": MockPackage({"zlib": ifc()})}, ["zlib"], [{"zlib": "zlib"}]), # 2 pkgs, 1 dep ( "#1", {"sys_cc": MockPackage({"cc": ifc()}), "zlib": MockPackage({"zlib": ifc(requires="cc")})}, ["zlib"], [{"zlib": "zlib", "cc": "sys_cc"}], ), # 3 pkgs, 2 deps, realize middle ( "#2", { "sys_cc": MockPackage({"cc": ifc()}), "zlib": MockPackage({"zlib": ifc(requires="cc")}), "hdf5": MockPackage({"hdf5": ifc(requires="zlib")}), },
from fief import async from fief.repository import ifc interfaces = {'py': ifc()} def build_a(ctx, pkg, path, opts): yield async.Result(None)
from fief import async from fief.repository import ifc interfaces = {'fortran': ifc()} def build_a(ctx): yield async.Result({})
async.run(f()) return test_runner # destroy order! chaos reigns! sditems = lambda x: set(frozenset(d.iteritems()) for d in x) def check_case(pkgs, ifcs, exp): def a(): repo = yield async.WaitFor(Repo.new_a(None, pkgs)) obs = sditems(solve(repo, ifcs)) assert_equal(obs, sditems(exp)) async.run(a()) cases = ( # pkgs, exp # 1 pkg, no deps ({'zlib': MockPackage({'zlib': ifc()})}, ['zlib'], [{'zlib': 'zlib'}]), # 2 pkgs, 1 dep ({'sys_cc': MockPackage({'cc': ifc()}), 'zlib': MockPackage({'zlib': ifc(requires='cc')}),}, ['zlib'], [{'zlib': 'zlib', 'cc': 'sys_cc'}]), # 3 pkgs, 2 deps, realize middle ({'sys_cc': MockPackage({'cc': ifc()}), 'zlib': MockPackage({'zlib': ifc(requires='cc')}), 'hdf5': MockPackage({'hdf5': ifc(requires='zlib')}), }, ['zlib'], [{'zlib': 'zlib', 'cc': 'sys_cc'}]), # 3 pkgs, 2 deps, realize all ({'sys_cc': MockPackage({'cc': ifc()}), 'zlib': MockPackage({'zlib': ifc(requires='cc')}),
from fief import async from fief.repository import ifc interfaces = {'glibmm': ifc()} def build_a(ctx, pkg, path, opts): yield async.Result(None)