From 6a45c46abef43f88bedc7bcfdf6419b8e46f86fd Mon Sep 17 00:00:00 2001 From: Marius Gedminas Date: Mon, 11 Jun 2012 09:10:41 +0000 Subject: [PATCH] Fix IndexError when buildout.cfg had a package with a blank version pin. --- CHANGELOG.txt | 2 ++ z3c/checkversions/base.py | 4 ++-- z3c/checkversions/buildout.txt | 24 ++++++++++++++++++++++++ 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index f804baa..9165ec7 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -8,6 +8,8 @@ Changelog in buildout. - ignore installed packages while searching for new versions, only look in the package index (makes the test suite more reliable, among other things). +- fix IndexError: list index out of range when buildout.cfg had a package with + a blank version pin. 0.4.1 (2010-08-25) ------------------ diff --git a/z3c/checkversions/base.py b/z3c/checkversions/base.py index c28a3df..834aadd 100644 --- a/z3c/checkversions/base.py +++ b/z3c/checkversions/base.py @@ -118,10 +118,10 @@ def check(self, level=0): if self.incremental == True: self.incremental = 'stop' if self.verbose: - print("# was: %s" % version.split()[0]) + print("# was: %s" % version) print("%s=%s" % (name, new_dist.version)) elif self.verbose: - print("%s=%s" % (name, version.split()[0])) + print("%s=%s" % (name, version)) def get_versions(self): diff --git a/z3c/checkversions/buildout.txt b/z3c/checkversions/buildout.txt index 61daa33..c18d726 100644 --- a/z3c/checkversions/buildout.txt +++ b/z3c/checkversions/buildout.txt @@ -133,3 +133,27 @@ We are using it directly here: >>> p.stdout.read().lower().startswith('usage: ') True + +explicitly unpinned versions +---------------------------- + +it's possible to explicitly say you don't want a particular package to be +pinned. + +>>> buildout_path = write_temp_file(""" +... [buildout] +... index = %s +... versions = versions +... [versions] +... distribute = +... zope.component = 3.0.0 +... """ % testindex) + +>>> checker = buildout.Checker(filename=buildout_path, verbose=True) +>>> checker.check() +# Checking buildout file ... +distribute= +# was: 3.0.0 +zope.component=3.9.4 + +>>> os.remove(buildout_path)