Accepting request 940362 from home:bnavigator:python-rpm-macros

- refresh migrate-to-pytest.patch: remove pytest-relaxed

OBS-URL: https://build.opensuse.org/request/show/940362
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-releases?expand=0&rev=16
This commit is contained in:
Matej Cepl 2021-12-14 19:09:00 +00:00 committed by Git OBS Bridge
parent 7ba4f3f055
commit ffa01a4cdf
3 changed files with 413 additions and 40 deletions

View File

@ -19,12 +19,11 @@ Index: releases-1.6.3/dev-requirements.txt
=================================================================== ===================================================================
--- releases-1.6.3.orig/dev-requirements.txt --- releases-1.6.3.orig/dev-requirements.txt
+++ releases-1.6.3/dev-requirements.txt +++ releases-1.6.3/dev-requirements.txt
@@ -2,7 +2,8 @@ @@ -2,7 +2,7 @@
invoke>=0.6.0,<2.0 invoke>=0.6.0,<2.0
invocations>=0.14,<2.0 invocations>=0.14,<2.0
# Tests (N.B. integration suite also uses Invoke as above) # Tests (N.B. integration suite also uses Invoke as above)
-spec>=0.11.3,<2.0 -spec>=0.11.3,<2.0
+pytest-relaxed==1.1.5
+pytest==4.6.9 +pytest==4.6.9
mock==1.0.1 mock==1.0.1
# Just for tests...heh # Just for tests...heh
@ -33,12 +32,11 @@ Index: releases-1.6.3/docs/changelog.rst
=================================================================== ===================================================================
--- releases-1.6.3.orig/docs/changelog.rst --- releases-1.6.3.orig/docs/changelog.rst
+++ releases-1.6.3/docs/changelog.rst +++ releases-1.6.3/docs/changelog.rst
@@ -2,6 +2,8 @@ @@ -2,6 +2,7 @@
Changelog Changelog
========= =========
+- :support:`-` Migrated the test suite to use ``pytest-relaxed`` (and thus +- :support:`-` Migrated the test suite to use ``pytest``
+ pytest) instead of ``spec``.
- :release:`1.6.3 <2020-01-10>` - :release:`1.6.3 <2020-01-10>`
- :support:`87 backported` (via :issue:`88`) Our upper Sphinx version limit was - :support:`87 backported` (via :issue:`88`) Our upper Sphinx version limit was
mostly defensive and at this point is just too old to even build on mostly defensive and at this point is just too old to even build on
@ -98,21 +96,24 @@ Index: releases-1.6.3/tests/organization.py
@@ -1,5 +1,6 @@ @@ -1,5 +1,6 @@
import six import six
-from spec import Spec, eq_, raises, skip -from spec import Spec, eq_, raises, skip
+from pytest import skip +from pytest import skip, raises
+from pytest_relaxed import raises +from unittest import TestCase
from docutils.nodes import ( from docutils.nodes import (
list_item, raw, paragraph, Text, list_item, raw, paragraph, Text,
) )
@@ -20,7 +21,7 @@ from _util import ( @@ -20,58 +21,58 @@ from _util import (
) )
-class organization(Spec): -class organization(Spec):
+class organization(object): +class organization(TestCase):
""" """
Organization of issues into releases (parsing) Organization of issues into releases (parsing)
""" """
@@ -30,7 +31,7 @@ class organization(Spec): - def setup(self):
+ def setUp(self):
setup_issues(self)
def _expect_entries(self, all_entries, in_, not_in): def _expect_entries(self, all_entries, in_, not_in):
# Grab 2nd release as 1st is the empty 'beginning of time' one # Grab 2nd release as 1st is the empty 'beginning of time' one
entries = releases(*all_entries)[1]['entries'] entries = releases(*all_entries)[1]['entries']
@ -121,7 +122,59 @@ Index: releases-1.6.3/tests/organization.py
for x in in_: for x in in_:
assert x in entries assert x in entries
for x in not_in: for x in not_in:
@@ -86,22 +87,22 @@ class organization(Spec): assert x not in entries
- def feature_releases_include_features_and_support_not_bugs(self):
+ def test_feature_releases_include_features_and_support_not_bugs(self):
self._expect_entries(
['1.1.0', self.f, self.b, self.s],
[self.f, self.s],
[self.b]
)
- def feature_releases_include_major_bugs(self):
+ def test_feature_releases_include_major_bugs(self):
self._expect_entries(
['1.1.0', self.f, self.b, self.mb],
[self.f, self.mb],
[self.b]
)
- def bugfix_releases_include_bugs(self):
+ def test_bugfix_releases_include_bugs(self):
self._expect_entries(
['1.0.2', self.f, self.b, self.mb],
[self.b],
[self.mb, self.f],
)
- def bugfix_releases_include_backported_features(self):
+ def test_bugfix_releases_include_backported_features(self):
self._expect_entries(
['1.0.2', self.bf, self.b, self.s],
[self.b, self.bf],
[self.s]
)
- def bugfix_releases_include_backported_support(self):
+ def test_bugfix_releases_include_backported_support(self):
self._expect_entries(
['1.0.2', self.f, self.b, self.s, self.bs],
[self.b, self.bs],
[self.s, self.f]
)
- def backported_features_also_appear_in_feature_releases(self):
+ def test_backported_features_also_appear_in_feature_releases(self):
entries = (
'1.1.0', '1.0.2', self.bf, self.b, self.s,
)
@@ -82,35 +83,35 @@ class organization(Spec):
}
expect_releases(entries, expected)
- def unmarked_bullet_list_items_treated_as_bugs(self):
+ def test_unmarked_bullet_list_items_treated_as_bugs(self):
fake = list_item('', paragraph('', '', raw('', 'whatever'))) fake = list_item('', paragraph('', '', raw('', 'whatever')))
changelog = releases('1.0.2', self.f, fake) changelog = releases('1.0.2', self.f, fake)
entries = changelog[1]['entries'] entries = changelog[1]['entries']
@ -132,7 +185,8 @@ Index: releases-1.6.3/tests/organization.py
- eq_(entries[0].number, None) - eq_(entries[0].number, None)
+ assert entries[0].number is None + assert entries[0].number is None
def unreleased_items_go_in_unreleased_releases(self): - def unreleased_items_go_in_unreleased_releases(self):
+ def test_unreleased_items_go_in_unreleased_releases(self):
changelog = releases(self.f, self.b) changelog = releases(self.f, self.b)
# Should have two unreleased lists, one feature w/ feature, one bugfix # Should have two unreleased lists, one feature w/ feature, one bugfix
# w/ bugfix. # w/ bugfix.
@ -148,36 +202,172 @@ Index: releases-1.6.3/tests/organization.py
+ assert feature['obj'].number == 'unreleased_1.x_feature' + assert feature['obj'].number == 'unreleased_1.x_feature'
+ assert bugfix['obj'].number == 'unreleased_1.x_bugfix' + assert bugfix['obj'].number == 'unreleased_1.x_bugfix'
def issues_consumed_by_releases_are_not_in_unreleased(self): - def issues_consumed_by_releases_are_not_in_unreleased(self):
+ def test_issues_consumed_by_releases_are_not_in_unreleased(self):
changelog = releases('1.0.2', self.f, self.b, self.s, self.bs) changelog = releases('1.0.2', self.f, self.b, self.s, self.bs)
@@ -148,7 +149,7 @@ class organization(Spec): release = changelog[1]['entries']
unreleased = changelog[-1]['entries']
assert self.b in release
assert self.b not in unreleased
- def oddly_ordered_bugfix_releases_and_unreleased_list(self):
+ def test_oddly_ordered_bugfix_releases_and_unreleased_list(self):
# Release set up w/ non-contiguous feature+bugfix releases; catches
# funky problems with 'unreleased' buckets
b2 = b(2)
@@ -122,7 +123,7 @@ class organization(Spec):
assert b2 in changelog[2]['entries']
assert b2 in changelog[3]['entries']
- def release_line_bugfix_specifier(self):
+ def test_release_line_bugfix_specifier(self):
b50 = b(50)
b42 = b(42, spec='1.1+')
f25 = f(25)
@@ -148,9 +149,9 @@ class organization(Spec):
('1.1.2', [b50, b42]), ('1.1.2', [b50, b42]),
('1.2.1', [b50, b42]), ('1.2.1', [b50, b42]),
): ):
- eq_(set(c[rel]), set(issues)) - eq_(set(c[rel]), set(issues))
+ assert set(c[rel]) == set(issues) + assert set(c[rel]) == set(issues)
def releases_can_specify_issues_explicitly(self): - def releases_can_specify_issues_explicitly(self):
+ def test_releases_can_specify_issues_explicitly(self):
# Build regular list-o-entries # Build regular list-o-entries
@@ -218,7 +219,7 @@ class organization(Spec): b2 = b(2)
def duplicate_issue_numbers_adds_two_issue_items(self): b3 = b(3)
@@ -172,13 +173,13 @@ class organization(Spec):
assert b2 in one_1_1
assert b3 in one_1_1
- def explicit_release_list_split_works_with_unicode(self):
+ def test_explicit_release_list_split_works_with_unicode(self):
changelog = release_list('1.0.1', b(17))
changelog[0][0].append(Text(six.text_type('17')))
# When using naive method calls, this explodes
construct_releases(changelog, make_app())
- def explicit_feature_release_features_are_removed_from_unreleased(self):
+ def test_explicit_feature_release_features_are_removed_from_unreleased(self):
f1 = f(1)
f2 = f(2)
changelog = release_list('1.1.0', f1, f2)
@@ -193,7 +194,7 @@ class organization(Spec):
# now-released feature 2 should not be in unreleased_feature
assert f2 not in rendered['unreleased_1.x_feature']
- def explicit_bugfix_releases_get_removed_from_unreleased(self):
+ def test_explicit_bugfix_releases_get_removed_from_unreleased(self):
b1 = b(1)
b2 = b(2)
changelog = release_list('1.0.1', b1, b2)
@@ -205,27 +206,27 @@ class organization(Spec):
assert b1 not in rendered[1]['entries']
# unreleased bug list should still get/see bug 1
assert b1 in rendered[2]['entries']
+
+ def test_explicit_releases_error_on_unfound_issues(self):
+ with raises(ValueError):
+ # Just a release - result will have 1.0.0, 1.0.1, and unreleased
+ changelog = release_list('1.0.1')
+ # No issues listed -> this clearly doesn't exist in any buckets
+ changelog[1][0].append(Text("25"))
+ # This should asplode
+ construct_releases(changelog, make_app())
- @raises(ValueError)
- def explicit_releases_error_on_unfound_issues(self):
- # Just a release - result will have 1.0.0, 1.0.1, and unreleased
- changelog = release_list('1.0.1')
- # No issues listed -> this clearly doesn't exist in any buckets
- changelog[1][0].append(Text("25"))
- # This should asplode
- construct_releases(changelog, make_app())
-
- def duplicate_issue_numbers_adds_two_issue_items(self):
+ def test_duplicate_issue_numbers_adds_two_issue_items(self):
test_changelog = releases('1.0.1', self.b, self.b) test_changelog = releases('1.0.1', self.b, self.b)
test_changelog = changelog2dict(test_changelog) test_changelog = changelog2dict(test_changelog)
- eq_(len(test_changelog['1.0.1']), 2) - eq_(len(test_changelog['1.0.1']), 2)
+ assert len(test_changelog['1.0.1']) == 2 + assert len(test_changelog['1.0.1']) == 2
def duplicate_zeroes_dont_error(self): - def duplicate_zeroes_dont_error(self):
+ def test_duplicate_zeroes_dont_error(self):
cl = releases('1.0.1', b(0), b(0)) cl = releases('1.0.1', b(0), b(0))
@@ -239,7 +240,7 @@ class organization(Spec): cl = changelog2dict(cl)
assert len(cl['1.0.1']) == 2
- def issues_are_sorted_by_type_within_releases(self):
+ def test_issues_are_sorted_by_type_within_releases(self):
b1 = b(123, major=True)
b2 = b(124, major=True)
s1 = s(25)
@@ -239,9 +240,9 @@ class organization(Spec):
# Order should be feature, bug, support. While it doesn't REALLY # Order should be feature, bug, support. While it doesn't REALLY
# matter, assert that within each category the order matches the old # matter, assert that within each category the order matches the old
# 'reverse chronological' order. # 'reverse chronological' order.
- eq_(changelog['1.1'], [f2, f1, b2, b1, s2, s1]) - eq_(changelog['1.1'], [f2, f1, b2, b1, s2, s1])
+ assert changelog['1.1'], [f2, f1, b2, b1, s2 == s1] + assert changelog['1.1'], [f2, f1, b2, b1, s2 == s1]
def rolling_release_works_without_annotation(self): - def rolling_release_works_without_annotation(self):
+ def test_rolling_release_works_without_annotation(self):
b1 = b(1) b1 = b(1)
@@ -397,8 +398,8 @@ class organization(Spec): b2 = b(2)
f3 = f(3)
@@ -262,7 +263,7 @@ class organization(Spec):
}
expect_releases(entries, expected)
- def plus_annotations_let_old_lines_continue_getting_released(self):
+ def test_plus_annotations_let_old_lines_continue_getting_released(self):
b9 = b(9)
f8 = f(8)
f7 = f(7, spec="1.0+")
@@ -288,7 +289,7 @@ class organization(Spec):
}
expect_releases(entries, expected)
- def semver_spec_annotations_allow_preventing_forward_porting(self):
+ def test_semver_spec_annotations_allow_preventing_forward_porting(self):
f9 = f(9, spec=">=1.0")
f8 = f(8)
b7 = b(7, spec="<2.0")
@@ -331,7 +332,7 @@ class organization(Spec):
}
expect_releases(entries, expected)
- def bugs_before_major_releases_associate_with_previous_release_only(self):
+ def test_bugs_before_major_releases_associate_with_previous_release_only(self):
b1 = b(1)
b2 = b(2)
f3 = f(3)
@@ -362,13 +363,13 @@ class organization(Spec):
}
expect_releases(entries, expected)
- def semver_double_ended_specs_work_when_more_than_two_major_versions(self):
+ def test_semver_double_ended_specs_work_when_more_than_two_major_versions(self):
skip()
- def can_disable_default_pin_to_latest_major_version(self):
+ def test_can_disable_default_pin_to_latest_major_version(self):
skip()
- def features_before_first_release_function_correctly(self):
+ def test_features_before_first_release_function_correctly(self):
f0 = f(0)
b1 = b(1)
f2 = f(2)
@@ -384,7 +385,7 @@ class organization(Spec):
# TODO: consider removing that entirely; arguably needing it is a bug?
expect_releases(entries, expected, skip_initial=True)
- def all_bugs_before_first_release_act_featurelike(self):
+ def test_all_bugs_before_first_release_act_featurelike(self):
b1 = b(1)
f2 = f(2)
b3 = b(3)
@@ -397,10 +398,10 @@ class organization(Spec):
second = changelog['0.1.1'] second = changelog['0.1.1']
assert b1 in first assert b1 in first
assert f2 in first assert f2 in first
@ -186,10 +376,17 @@ Index: releases-1.6.3/tests/organization.py
+ assert len(first) == 3 # Meh, hard to assert about the implicit one + assert len(first) == 3 # Meh, hard to assert about the implicit one
+ assert second == [b3] + assert second == [b3]
def specs_and_keywords_play_together_nicely(self): - def specs_and_keywords_play_together_nicely(self):
+ def test_specs_and_keywords_play_together_nicely(self):
b1 = b(1) b1 = b(1)
@@ -429,13 +430,13 @@ class organization(Spec): b2 = b(2, major=True, spec='1.0+')
def changelogs_without_any_releases_display_unreleased_normally(self): f3 = f(3)
@@ -426,18 +427,18 @@ class organization(Spec):
}
expect_releases(entries, expected)
- def changelogs_without_any_releases_display_unreleased_normally(self):
+ def test_changelogs_without_any_releases_display_unreleased_normally(self):
changelog = releases(self.f, self.b, skip_initial=True) changelog = releases(self.f, self.b, skip_initial=True)
# Ensure only the two unreleased 'releases' showed up # Ensure only the two unreleased 'releases' showed up
- eq_(len(changelog), 2) - eq_(len(changelog), 2)
@ -203,8 +400,47 @@ Index: releases-1.6.3/tests/organization.py
+ assert len(feature['entries']) == 2 + assert len(feature['entries']) == 2
+ assert len(bugfix['entries']) == 0 + assert len(bugfix['entries']) == 0
class unstable_prehistory: - class unstable_prehistory:
+ class unstable_prehistory(TestCase):
def _expect_releases(self, *args, **kwargs): def _expect_releases(self, *args, **kwargs):
"""
expect_releases() wrapper setting unstable_prehistory by default
@@ -445,7 +446,7 @@ class organization(Spec):
kwargs['app'] = make_app(unstable_prehistory=True)
return expect_releases(*args, **kwargs)
- def all_issue_types_rolled_up_together(self):
+ def test_all_issue_types_rolled_up_together(self):
# Pre-1.0-only base case
entries = (
'0.1.1',
@@ -461,7 +462,7 @@ class organization(Spec):
}
self._expect_releases(entries, expected, skip_initial=True)
- def does_not_affect_releases_after_1_0(self):
+ def test_does_not_affect_releases_after_1_0(self):
# Mixed changelog crossing 1.0 boundary
entries = (
'1.1.0',
@@ -483,7 +484,7 @@ class organization(Spec):
}
self._expect_releases(entries, expected, skip_initial=True)
- def doesnt_care_if_you_skipped_1_0_entirely(self):
+ def test_doesnt_care_if_you_skipped_1_0_entirely(self):
# Mixed changelog where 1.0 is totally skipped and one goes to 2.0
entries = (
'2.1.0',
@@ -505,7 +506,7 @@ class organization(Spec):
}
self._expect_releases(entries, expected, skip_initial=True)
- def explicit_unstable_releases_still_eat_their_issues(self):
+ def test_explicit_unstable_releases_still_eat_their_issues(self):
# I.e. an 0.x.y releases using explicit issue listings, works
# correctly - the explicitly listed issues don't appear in nearby
# implicit releases.
Index: releases-1.6.3/tests/presentation.py Index: releases-1.6.3/tests/presentation.py
=================================================================== ===================================================================
--- releases-1.6.3.orig/tests/presentation.py --- releases-1.6.3.orig/tests/presentation.py
@ -214,16 +450,29 @@ Index: releases-1.6.3/tests/presentation.py
from docutils.nodes import ( from docutils.nodes import (
reference, bullet_list, list_item, literal, raw, paragraph, Text reference, bullet_list, list_item, literal, raw, paragraph, Text
) )
@@ -30,7 +29,7 @@ def _expect_type(node, cls): @@ -18,6 +17,7 @@ from _util import (
setup_issues,
)
+from unittest import TestCase
def _obj2name(obj):
cls = obj if isinstance(obj, type) else obj.__class__
@@ -30,11 +30,11 @@ def _expect_type(node, cls):
assert isinstance(node, cls), msg assert isinstance(node, cls), msg
-class presentation(Spec): -class presentation(Spec):
+class presentation(object): +class presentation(TestCase):
""" """
Expansion/extension of docutils nodes (rendering) Expansion/extension of docutils nodes (rendering)
""" """
@@ -58,7 +57,7 @@ class presentation(Spec): - def setup(self):
+ def setUp(self):
setup_issues(self)
def _generate(self, *entries, **kwargs):
@@ -58,17 +58,17 @@ class presentation(Spec):
assert expected in header assert expected in header
elif type_ == 'issue': elif type_ == 'issue':
link = nodes[0][1][0][0][2] link = nodes[0][1][0][0][2]
@ -232,7 +481,75 @@ Index: releases-1.6.3/tests/presentation.py
else: else:
raise Exception("Gave unknown type_ kwarg to _test_link()!") raise Exception("Gave unknown type_ kwarg to _test_link()!")
@@ -139,7 +138,7 @@ class presentation(Spec): - def issues_with_numbers_appear_as_number_links(self):
+ def test_test_issues_with_numbers_appear_as_number_links(self):
self._test_link({}, 'issue', 'bar_15')
- def releases_appear_as_header_links(self):
+ def test_test_releases_appear_as_header_links(self):
self._test_link({}, 'release', 'foo_1.0.2')
- def links_will_use_github_option_if_defined(self):
+ def test_links_will_use_github_option_if_defined(self):
kwargs = {
'release_uri': None,
'issue_uri': None,
@@ -80,7 +80,7 @@ class presentation(Spec):
):
self._test_link(kwargs, type_, expected)
- def issue_links_prefer_explicit_setting_over_github_setting(self):
+ def test_issue_links_prefer_explicit_setting_over_github_setting(self):
kwargs = {
'release_uri': None,
'issue_uri': 'explicit_issue_%s',
@@ -88,7 +88,7 @@ class presentation(Spec):
}
self._test_link(kwargs, 'issue', 'explicit_issue_15')
- def release_links_prefer_explicit_setting_over_github_setting(self):
+ def test_release_links_prefer_explicit_setting_over_github_setting(self):
kwargs = {
'release_uri': 'explicit_release_%s',
'issue_uri': None,
@@ -96,7 +96,7 @@ class presentation(Spec):
}
self._test_link(kwargs, 'release', 'explicit_release_1.0.2')
- def completely_blank_uri_settings_does_not_asplode(self):
+ def test_completely_blank_uri_settings_does_not_asplode(self):
kwargs = {
'release_uri': None,
'issue_uri': None,
@@ -117,48 +117,48 @@ class presentation(Spec):
def _assert_prefix(self, entries, expectation):
assert expectation in self._generate(*entries)[0][0][0]
- def bugs_marked_as_bugs(self):
+ def test_bugs_marked_as_bugs(self):
self._assert_prefix(['1.0.2', self.b], 'Bug')
- def features_marked_as_features(self):
+ def test_features_marked_as_features(self):
self._assert_prefix(['1.1.0', self.f], 'Feature')
- def support_marked_as_support(self):
+ def test_support_marked_as_support(self):
self._assert_prefix(['1.1.0', self.s], 'Support')
- def dashed_issues_appear_as_unlinked_issues(self):
+ def test_dashed_issues_appear_as_unlinked_issues(self):
node = self._generate('1.0.2', b('-'))
assert not isinstance(node[0][2], reference)
- def zeroed_issues_appear_as_unlinked_issues(self):
+ def test_zeroed_issues_appear_as_unlinked_issues(self):
node = self._generate('1.0.2', b(0))
assert not isinstance(node[0][2], reference)
- def un_prefixed_list_items_appear_as_unlinked_bugs(self):
+ def test_un_prefixed_list_items_appear_as_unlinked_bugs(self):
fake = list_item('', paragraph('', '',
Text("fixes an issue in "), literal('', 'methodname'))) Text("fixes an issue in "), literal('', 'methodname')))
node = self._generate('1.0.2', fake) node = self._generate('1.0.2', fake)
# [<raw prefix>, <inline colon>, <inline space>, <text>, <monospace>] # [<raw prefix>, <inline colon>, <inline space>, <text>, <monospace>]
@ -241,7 +558,10 @@ Index: releases-1.6.3/tests/presentation.py
assert 'Bug' in str(node[0][0]) assert 'Bug' in str(node[0][0])
assert 'fixes an issue' in str(node[0][3]) assert 'fixes an issue' in str(node[0][3])
assert 'methodname' in str(node[0][4]) assert 'methodname' in str(node[0][4])
@@ -149,7 +148,7 @@ class presentation(Spec):
- def un_prefixed_list_items_get_no_prefix_under_unstable_prehistory(self):
+ def test_un_prefixed_list_items_get_no_prefix_under_unstable_prehistory(self):
app = make_app(unstable_prehistory=True)
fake = list_item('', paragraph('', '', raw('', 'whatever'))) fake = list_item('', paragraph('', '', raw('', 'whatever')))
node = self._generate('0.1.0', fake, app=app, skip_initial=True) node = self._generate('0.1.0', fake, app=app, skip_initial=True)
# [<raw bug text>] # [<raw bug text>]
@ -250,7 +570,26 @@ Index: releases-1.6.3/tests/presentation.py
assert 'Bug' not in str(node[0][0]) assert 'Bug' not in str(node[0][0])
assert 'whatever' in str(node[0][0]) assert 'whatever' in str(node[0][0])
@@ -173,9 +172,9 @@ class presentation(Spec): - def issues_remain_wrapped_in_unordered_list_nodes(self):
+ def test_issues_remain_wrapped_in_unordered_list_nodes(self):
node = self._generate('1.0.2', self.b, raw=True)[0][1]
_expect_type(node, bullet_list)
_expect_type(node[0], list_item)
- def release_headers_have_local_style_tweaks(self):
+ def test_release_headers_have_local_style_tweaks(self):
node = self._generate('1.0.2', self.b, raw=True)[0][0]
_expect_type(node, raw)
# Header w/ bottom margin
@@ -166,18 +166,18 @@ class presentation(Spec):
# Date span w/ font-size
assert '<span style="font-size' in str(node)
- def descriptions_are_preserved(self):
+ def test_descriptions_are_preserved(self):
# Changelog containing an issue item w/ trailing node
issue = list_item('',
paragraph('', '', self.b.deepcopy(), raw('', 'x')),
) )
# Trailing nodes should appear post-processing after the link/etc # Trailing nodes should appear post-processing after the link/etc
rest = self._generate('1.0.2', issue)[0] rest = self._generate('1.0.2', issue)[0]
@ -260,9 +599,12 @@ Index: releases-1.6.3/tests/presentation.py
- eq_(rest[4].astext(), 'x') - eq_(rest[4].astext(), 'x')
+ assert rest[4].astext() == 'x' + assert rest[4].astext() == 'x'
def complex_descriptions_are_preserved(self): - def complex_descriptions_are_preserved(self):
+ def test_complex_descriptions_are_preserved(self):
# Complex 'entry' mapping to an outer list_item (list) containing two # Complex 'entry' mapping to an outer list_item (list) containing two
@@ -188,14 +187,14 @@ class presentation(Spec): # paragraphs, one w/ the real issue + desc, another simply a 2nd text
# paragraph. Using 'raw' nodes for filler as needed.
@@ -188,16 +188,16 @@ class presentation(Spec):
li = self._generate('1.0.2', issue) li = self._generate('1.0.2', issue)
# Expect that the machinery parsing issue nodes/nodelists, is not # Expect that the machinery parsing issue nodes/nodelists, is not
# discarding our 2nd 'paragraph' # discarding our 2nd 'paragraph'
@ -278,9 +620,12 @@ Index: releases-1.6.3/tests/presentation.py
- eq_(p2[0].astext(), 'y') - eq_(p2[0].astext(), 'y')
+ assert p2[0].astext() == 'y' + assert p2[0].astext() == 'y'
def descriptions_are_parsed_for_issue_roles(self): - def descriptions_are_parsed_for_issue_roles(self):
+ def test_descriptions_are_parsed_for_issue_roles(self):
item = list_item('', item = list_item('',
@@ -207,11 +206,11 @@ class presentation(Spec): paragraph('', '', self.b.deepcopy(), s(5))
)
@@ -207,19 +207,19 @@ class presentation(Spec):
assert not isinstance(para[4], Issue) assert not isinstance(para[4], Issue)
# First/primary link # First/primary link
_expect_type(para[2], reference) _expect_type(para[2], reference)
@ -293,8 +638,27 @@ Index: releases-1.6.3/tests/presentation.py
+ assert para[6].astext() == '#5' + assert para[6].astext() == '#5'
assert 'Support' in para[4].astext() assert 'Support' in para[4].astext()
def unreleased_buckets_omit_major_version_when_only_one_exists(self): - def unreleased_buckets_omit_major_version_when_only_one_exists(self):
@@ -246,7 +245,7 @@ class presentation(Spec): + def test_unreleased_buckets_omit_major_version_when_only_one_exists(self):
result = self._generate(b(1), raw=True)[0][0][0]
html = str(result) # since repr() from test-fail hides actual text
assert "Next bugfix release" in html
- def unreleased_buckets_display_major_version_when_multiple(self):
+ def test_unreleased_buckets_display_major_version_when_multiple(self):
entries = (
b(3), # should appear in unreleased bugs for 2.x
'2.0.0',
@@ -234,7 +234,7 @@ class presentation(Spec):
html = str(one_x[0][0])
assert "Next 1.x bugfix release" in html
- def unreleased_displays_version_when_only_some_lines_displayed(self):
+ def test_unreleased_displays_version_when_only_some_lines_displayed(self):
# I.e. if there's unreleased 1.x stuff but no unreleased 2.x, still
# display the "1.x".
entries = (
@@ -246,11 +246,11 @@ class presentation(Spec):
) )
# Expectation: [1.x unreleased, 1.0.1] - no 2.x. # Expectation: [1.x unreleased, 1.0.1] - no 2.x.
result = self._generate(*entries, raw=True) result = self._generate(*entries, raw=True)
@ -303,6 +667,11 @@ Index: releases-1.6.3/tests/presentation.py
html = str(result[0][0][0]) html = str(result[0][0][0])
assert "Next 1.x bugfix release" in html assert "Next 1.x bugfix release" in html
- def unstable_prehistory_active_means_only_one_unreleased_release(self):
+ def test_unstable_prehistory_active_means_only_one_unreleased_release(self):
app = make_app(unstable_prehistory=True)
entries = (b(2), f(3), '0.1.0', b(1))
result = self._generate(*entries, app=app, raw=True, skip_initial=True)
Index: releases-1.6.3/setup.cfg Index: releases-1.6.3/setup.cfg
=================================================================== ===================================================================
--- releases-1.6.3.orig/setup.cfg --- releases-1.6.3.orig/setup.cfg

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Tue Dec 14 00:08:20 UTC 2021 - Ben Greiner <code@bnavigator.de>
- refresh migrate-to-pytest.patch: remove pytest-relaxed
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Sep 13 06:17:58 UTC 2021 - Steve Kowalik <steven.kowalik@suse.com> Mon Sep 13 06:17:58 UTC 2021 - Steve Kowalik <steven.kowalik@suse.com>

View File

@ -46,7 +46,7 @@ BuildRequires: %{python_module Sphinx >= 1.3}
BuildRequires: %{python_module invocations} BuildRequires: %{python_module invocations}
BuildRequires: %{python_module invoke} BuildRequires: %{python_module invoke}
BuildRequires: %{python_module mock >= 1.0.1} BuildRequires: %{python_module mock >= 1.0.1}
BuildRequires: %{python_module pytest-relaxed} BuildRequires: %{python_module pytest}
BuildRequires: %{python_module semantic_version} BuildRequires: %{python_module semantic_version}
BuildRequires: %{python_module six >= 1.4.1} BuildRequires: %{python_module six >= 1.4.1}
%endif %endif
@ -84,8 +84,7 @@ Specifically:
%if %{with test} %if %{with test}
%check %check
export NOSE_NO_SPEC_COLOR=1 %pytest
%python_expand invoke-%{$python_bin_suffix} test
%endif %endif
%if !%{with test} %if !%{with test}