blob: e160c77ce072821e72c60760db682bb88dc41976 [file] [log] [blame]
# Copyright 2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
from portage.tests import TestCase
from portage.tests.resolver.ResolverPlayground import (ResolverPlayground,
ResolverPlaygroundTestCase)
class AutounmaskMultilibUseTestCase(TestCase):
def testAutounmaskMultilibUse(self):
self.todo = True
ebuilds = {
"x11-proto/xextproto-7.2.1-r1": {
"EAPI": "5",
"IUSE": "abi_x86_32 abi_x86_64",
},
"x11-libs/libXaw-1.0.11-r2": {
"EAPI": "5",
"IUSE": "abi_x86_32 abi_x86_64",
"RDEPEND": "x11-proto/xextproto[abi_x86_32(-)?,abi_x86_64(-)?]"
},
"app-emulation/emul-linux-x86-xlibs-20130224-r2": {
"EAPI": "5",
"RDEPEND": "x11-libs/libXaw[abi_x86_32]"
},
"games-util/steam-client-meta-0-r20130514": {
"EAPI": "5",
"RDEPEND": "app-emulation/emul-linux-x86-xlibs"
}
}
installed = {
"x11-proto/xextproto-7.2.1-r1": {
"EAPI": "5",
"IUSE": "abi_x86_32 abi_x86_64",
"USE": "abi_x86_32 abi_x86_64"
},
"x11-libs/libXaw-1.0.11-r2": {
"EAPI": "5",
"IUSE": "abi_x86_32 abi_x86_64",
"RDEPEND": "x11-proto/xextproto[abi_x86_32(-)?,abi_x86_64(-)?]",
"USE": "abi_x86_32 abi_x86_64"
},
"app-emulation/emul-linux-x86-xlibs-20130224-r2": {
"EAPI": "5",
"RDEPEND": "x11-libs/libXaw[abi_x86_32]"
},
"games-util/steam-client-meta-0-r20130514": {
"EAPI": "5",
"RDEPEND": "app-emulation/emul-linux-x86-xlibs"
}
}
user_config = {
#"make.conf" : ("USE=\"abi_x86_32 abi_x86_64\"",)
"make.conf" : ("USE=\"abi_x86_64\"",)
}
world = ("games-util/steam-client-meta",)
test_cases = (
# Test autounmask solving of multilib use deps for bug #481628.
# We would like it to suggest some USE changes, but instead it
# currently fails with a SLOT conflict.
ResolverPlaygroundTestCase(
["x11-proto/xextproto", "x11-libs/libXaw"],
options = {"--oneshot": True, "--autounmask": True,
"--backtrack": 30},
mergelist = ["x11-proto/xextproto-7.2.1-r1", "x11-libs/libXaw-1.0.11-r2"],
success = True),
)
playground = ResolverPlayground(ebuilds=ebuilds, installed=installed,
user_config=user_config, world=world, debug=False)
try:
for test_case in test_cases:
playground.run_TestCase(test_case)
self.assertEqual(test_case.test_success, True, test_case.fail_msg)
finally:
playground.cleanup()