From ccf3ca5fdfbb02938b4970a232a5401b310caf8d Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Mon, 11 Jul 2016 11:42:13 -0400 Subject: [PATCH] Ensure tuples are passed correctly in Revision.__repr__ Fixed bug where a repr() or str() of a Script object would fail if the script had multiple dependencies. Change-Id: Iae866058cce4ec5a7dc499358b23b06a4bbb6ecd --- alembic/script/revision.py | 4 ++-- docs/build/changelog.rst | 6 ++++++ tests/test_revision.py | 11 +++++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/alembic/script/revision.py b/alembic/script/revision.py index c1750a06..3b4fac9c 100644 --- a/alembic/script/revision.py +++ b/alembic/script/revision.py @@ -780,9 +780,9 @@ class Revision(object): repr(self.down_revision) ] if self.dependencies: - args.append("dependencies=%r" % self.dependencies) + args.append("dependencies=%r" % (self.dependencies,)) if self.branch_labels: - args.append("branch_labels=%r" % self.branch_labels) + args.append("branch_labels=%r" % (self.branch_labels,)) return "%s(%s)" % ( self.__class__.__name__, ", ".join(args) diff --git a/docs/build/changelog.rst b/docs/build/changelog.rst index 1308a293..2ccc8b52 100644 --- a/docs/build/changelog.rst +++ b/docs/build/changelog.rst @@ -6,6 +6,12 @@ Changelog .. changelog:: :version: 0.8.7 + .. change:: + :tags: bug, versioning + + Fixed bug where a repr() or str() of a Script object would fail + if the script had multiple dependencies. + .. change:: :tags: bug, autogenerate diff --git a/tests/test_revision.py b/tests/test_revision.py index 45687eab..498bea8d 100644 --- a/tests/test_revision.py +++ b/tests/test_revision.py @@ -111,6 +111,17 @@ class APITest(TestBase): ['c', 'b', 'a'] ) + def test_repr_revs(self): + map_ = RevisionMap( + lambda: [ + Revision('a', ()), + Revision('b', ('a',)), + Revision('c', (), dependencies=('a', 'b')), + ] + ) + c = map_._revision_map['c'] + eq_(repr(c), "Revision('c', None, dependencies=('a', 'b'))") + class DownIterateTest(TestBase): def _assert_iteration( -- 2.47.2