summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--aptsources/sourceslist.py2
-rw-r--r--tests/test_aptsources.py14
2 files changed, 15 insertions, 1 deletions
diff --git a/aptsources/sourceslist.py b/aptsources/sourceslist.py
index 61b75f75..40902d84 100644
--- a/aptsources/sourceslist.py
+++ b/aptsources/sourceslist.py
@@ -313,7 +313,7 @@ class SourcesList(object):
for source in sources:
# if there is a repo with the same (type, uri, dist) just add the
# components
- if source.disabled and set(source.comps) == comps:
+ if source.disabled and set(source.comps) == set(comps):
source.disabled = False
return source
elif not source.disabled:
diff --git a/tests/test_aptsources.py b/tests/test_aptsources.py
index dcfb0682..41cfabb3 100644
--- a/tests/test_aptsources.py
+++ b/tests/test_aptsources.py
@@ -233,6 +233,20 @@ class TestAptSources(unittest.TestCase):
for key in found:
self.assertEqual(found[key], 1)
+ def test_enable_disabled(self):
+ """LP: #1042916: Test enabling disabled entry."""
+ apt_pkg.config.set("Dir::Etc::sourcelist", "data/aptsources/"
+ "sources.list")
+ sources = aptsources.sourceslist.SourcesList(True, self.templates)
+ disabled = sources.add("deb", "http://fi.archive.ubuntu.com/ubuntu/",
+ "precise",
+ ["main"])
+ disabled.set_enabled(False)
+ enabled = sources.add("deb", "http://fi.archive.ubuntu.com/ubuntu/",
+ "precise",
+ ["main"])
+ self.assertEqual(disabled, enabled)
+ self.assertFalse(disabled.disabled)
if __name__ == "__main__":
os.chdir(os.path.dirname(__file__))