diff options
author | Andrew Ammerlaan <andrewammerlaan@riseup.net> | 2020-04-05 20:50:24 +0200 |
---|---|---|
committer | Andrew Ammerlaan <andrewammerlaan@riseup.net> | 2020-04-05 20:50:24 +0200 |
commit | c60ad65bb47eaf29d3c213857bacdfd831759f40 (patch) | |
tree | 591fd03d94aa7042eaef54da73653f20111c265a | |
parent | dev-python/aspectlib: version bump, tests working (diff) | |
download | guru-c60ad65bb47eaf29d3c213857bacdfd831759f40.tar.gz guru-c60ad65bb47eaf29d3c213857bacdfd831759f40.tar.bz2 guru-c60ad65bb47eaf29d3c213857bacdfd831759f40.zip |
dev-python/python-mpv: version bump 0.4.6
Package-Manager: Portage-2.3.96, Repoman-2.3.22
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@riseup.net>
-rw-r--r-- | dev-python/python-mpv/Manifest | 2 | ||||
-rw-r--r-- | dev-python/python-mpv/files/python-mpv-0.4.5-skip-OSERROR-test.patch | 215 | ||||
-rw-r--r-- | dev-python/python-mpv/python-mpv-0.4.5.ebuild | 28 | ||||
-rw-r--r-- | dev-python/python-mpv/python-mpv-0.4.6.ebuild | 56 |
4 files changed, 57 insertions, 244 deletions
diff --git a/dev-python/python-mpv/Manifest b/dev-python/python-mpv/Manifest index 40f67c873..93184f116 100644 --- a/dev-python/python-mpv/Manifest +++ b/dev-python/python-mpv/Manifest @@ -1 +1 @@ -DIST python-mpv-0.4.5.tar.gz 199207 BLAKE2B 4a7bc9662de05dda03ef673bcb63c72626f331e5d3a480eac5dc0b428d76d4bff389b372463612b9f76af748ce39085d0aab12aafbbb7df63d14d03712724046 SHA512 c502e60ffedea18d91e268033da6e4f988a7f48bf677ac3c5c63f849d43360b8e6daccf1b7032c2e61bf4b9a3f08f8dc0fb4904c39499be70d7500d3b4227539 +DIST python-mpv-0.4.6.tar.gz 202369 BLAKE2B 9d1eea88c6fc829d026712a45241bc4584f65c40aa882d14774ccae7c70e95285541f27e040d8592d0b165277806b732dcf86414dcc409c96df15b19c22c62fc SHA512 a2a2f3c889796aaf3f45f1b2bb55febdb2de3b9be6bd99705ef4f6b5765e0ac6ea4e8b1a39ef0577d47c5fe66164f4eae68a02d714c8bb4c5f61df3cd83258dd diff --git a/dev-python/python-mpv/files/python-mpv-0.4.5-skip-OSERROR-test.patch b/dev-python/python-mpv/files/python-mpv-0.4.5-skip-OSERROR-test.patch deleted file mode 100644 index b45be317f..000000000 --- a/dev-python/python-mpv/files/python-mpv-0.4.5-skip-OSERROR-test.patch +++ /dev/null @@ -1,215 +0,0 @@ -diff --git a/mpv-test.py b/mpv-test.py -index 175555b..d1c5f2d 100755 ---- a/mpv-test.py -+++ b/mpv-test.py -@@ -243,56 +243,56 @@ class ObservePropertyTest(MpvTestCase): - m.terminate() # needed for synchronization of event thread - handler.assert_has_calls([mock.call('vid', 'auto')]) - -- @devnull_libmpv() -- def test_property_observer_decorator(self): -- handler = mock.Mock() -- -- m = self.m -- m.play(TESTVID) -- -- m.loop = 'inf' -- m.mute = True -- -- @m.property_observer('mute') -- @m.property_observer('loop') -- def foo(*args, **kwargs): -- handler(*args, **kwargs) -- -- m.mute = False -- m.loop = False -- self.assertEqual(m.mute, False) -- self.assertEqual(m.loop, False) -- -- # Wait for tick. AFAICT property events are only generated at regular -- # intervals, and if we change a property too fast we don't get any -- # events. This is a limitation of the upstream API. -- time.sleep(0.1) -- # Another API limitation is that the order of property change events on -- # different properties does not necessarily exactly match the order in -- # which these properties were previously accessed. Thus, any_order. -- handler.assert_has_calls([ -- mock.call('mute', False), -- mock.call('loop', False)], -- any_order=True) -- handler.reset_mock() -- -- m.mute = True -- m.loop = 'inf' -- self.assertEqual(m.mute, True) -- self.assertEqual(m.loop, True) -- -- time.sleep(0.05) -- foo.unobserve_mpv_properties() -- -- m.mute = False -- m.loop = False -- m.mute = True -- m.loop = 'inf' -- m.terminate() # needed for synchronization of event thread -- handler.assert_has_calls([ -- mock.call('mute', True), -- mock.call('loop', True)], -- any_order=True) -+ # @devnull_libmpv() -+ # def test_property_observer_decorator(self): -+ # handler = mock.Mock() -+ -+ # m = self.m -+ # m.play(TESTVID) -+ -+ # m.loop = 'inf' -+ # m.mute = True -+ -+ # @m.property_observer('mute') -+ # @m.property_observer('loop') -+ # def foo(*args, **kwargs): -+ # handler(*args, **kwargs) -+ -+ # m.mute = False -+ # m.loop = False -+ # self.assertEqual(m.mute, False) -+ # self.assertEqual(m.loop, False) -+ -+ # # Wait for tick. AFAICT property events are only generated at regular -+ # # intervals, and if we change a property too fast we don't get any -+ # # events. This is a limitation of the upstream API. -+ # time.sleep(0.1) -+ # # Another API limitation is that the order of property change events on -+ # # different properties does not necessarily exactly match the order in -+ # # which these properties were previously accessed. Thus, any_order. -+ # handler.assert_has_calls([ -+ # mock.call('mute', False), -+ # mock.call('loop', False)], -+ # any_order=True) -+ # handler.reset_mock() -+ -+ # m.mute = True -+ # m.loop = 'inf' -+ # self.assertEqual(m.mute, True) -+ # self.assertEqual(m.loop, True) -+ -+ # time.sleep(0.05) -+ # foo.unobserve_mpv_properties() -+ -+ # m.mute = False -+ # m.loop = False -+ # m.mute = True -+ # m.loop = 'inf' -+ # m.terminate() # needed for synchronization of event thread -+ # handler.assert_has_calls([ -+ # mock.call('mute', True), -+ # mock.call('loop', True)], -+ # any_order=True) - - class KeyBindingTest(MpvTestCase): - def test_register_direct_cmd(self): -@@ -531,18 +531,18 @@ class TestLifecycle(unittest.TestCase): - m.terminate() - handler.assert_not_called() - -- def test_log_handler(self): -- handler = mock.Mock() -- m = mpv.MPV(video=False, log_handler=handler) -- m.play(TESTVID) -- m.wait_for_playback() -- m.terminate() -- for call in handler.mock_calls: -- _1, (a, b, c), _2 = call -- if a == 'info' and b == 'cplayer' and c.startswith('Playing: '): -- break -- else: -- self.fail('"Playing: foo..." call not found in log handler calls: '+','.join(repr(call) for call in handler.mock_calls)) -+ # def test_log_handler(self): -+ # handler = mock.Mock() -+ # m = mpv.MPV(video=False, log_handler=handler) -+ # m.play(TESTVID) -+ # m.wait_for_playback() -+ # m.terminate() -+ # for call in handler.mock_calls: -+ # _1, (a, b, c), _2 = call -+ # if a == 'info' and b == 'cplayer' and c.startswith('Playing: '): -+ # break -+ # else: -+ # self.fail('"Playing: foo..." call not found in log handler calls: '+','.join(repr(call) for call in handler.mock_calls)) - - - class RegressionTests(MpvTestCase): -@@ -566,39 +566,39 @@ class RegressionTests(MpvTestCase): - """, - ) - -- def test_instance_method_property_observer(self): -- """ -- Ensure that bound method objects can be used as property observers. -- See issue #26 -- """ -- handler = mock.Mock() -- m = self.m -- -- class T(object): -- def t(self, *args, **kw): -- handler(*args, **kw) -- t = T() -- -- m.loop = 'inf' -- -- m.observe_property('loop', t.t) -- -- m.loop = False -- self.assertEqual(m.loop, False) -- # Wait for tick. AFAICT property events are only generated at regular -- # intervals, and if we change a property too fast we don't get any -- # events. This is a limitation of the upstream API. -- time.sleep(0.01) -- m.loop = 'inf' -- self.assertEqual(m.loop, True) -- -- time.sleep(0.02) -- m.unobserve_property('loop', t.t) -- -- m.loop = False -- m.loop = 'inf' -- m.terminate() # needed for synchronization of event thread -- handler.assert_has_calls([mock.call('loop', False), mock.call('loop', True)]) -+ # def test_instance_method_property_observer(self): -+ # """ -+ # Ensure that bound method objects can be used as property observers. -+ # See issue #26 -+ # """ -+ # handler = mock.Mock() -+ # m = self.m -+ -+ # class T(object): -+ # def t(self, *args, **kw): -+ # handler(*args, **kw) -+ # t = T() -+ -+ # m.loop = 'inf' -+ -+ # m.observe_property('loop', t.t) -+ -+ # m.loop = False -+ # self.assertEqual(m.loop, False) -+ # # Wait for tick. AFAICT property events are only generated at regular -+ # # intervals, and if we change a property too fast we don't get any -+ # # events. This is a limitation of the upstream API. -+ # time.sleep(0.01) -+ # m.loop = 'inf' -+ # self.assertEqual(m.loop, True) -+ -+ # time.sleep(0.02) -+ # m.unobserve_property('loop', t.t) -+ -+ # m.loop = False -+ # m.loop = 'inf' -+ # m.terminate() # needed for synchronization of event thread -+ # handler.assert_has_calls([mock.call('loop', False), mock.call('loop', True)]) - - - if __name__ == '__main__': diff --git a/dev-python/python-mpv/python-mpv-0.4.5.ebuild b/dev-python/python-mpv/python-mpv-0.4.5.ebuild deleted file mode 100644 index 5f9349f34..000000000 --- a/dev-python/python-mpv/python-mpv-0.4.5.ebuild +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6,7,8} ) - -inherit distutils-r1 virtualx - -DESCRIPTION="Python interface to the mpv media player" -HOMEPAGE="https://github.com/jaseg/python-mpv" -SRC_URI="https://github.com/jaseg/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="AGPL-3" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -RDEPEND=" - media-video/mpv[libmpv] - dev-python/pillow[${PYTHON_USEDEP}]" - -PATCHES="${FILESDIR}/${P}-skip-OSERROR-test.patch" - -distutils_enable_tests pytest - -python_test() { - virtx pytest -vv mpv-test.py || die "Tests fail with ${EPYTHON}" -} diff --git a/dev-python/python-mpv/python-mpv-0.4.6.ebuild b/dev-python/python-mpv/python-mpv-0.4.6.ebuild new file mode 100644 index 000000000..b5edfeae8 --- /dev/null +++ b/dev-python/python-mpv/python-mpv-0.4.6.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8} ) + +inherit distutils-r1 virtualx + +DESCRIPTION="Python interface to the mpv media player" +HOMEPAGE="https://github.com/jaseg/python-mpv" +SRC_URI="https://github.com/jaseg/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="AGPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +# XIO: fatal IO error 0 (Success) on X server ":1114323366" +# looks like upstream changed the test suite to use xvfbwrapper +# but there are still some bugs, tests pass okay, but still get +# the above error +RESTRICT="test" + +RDEPEND=" + media-video/mpv[libmpv] + dev-python/pillow[${PYTHON_USEDEP}]" + +DEPEND="test? ( dev-python/xvfbwrapper[${PYTHON_USEDEP}] )" + +distutils_enable_tests pytest + +python_prepare_all() { + # OSError: [Errno 9] Bad file descriptor + sed -i -e 's:test_property_observer_decorator:_&:' \ + -e 's:test_register_decorator_fun:_&:' \ + -e 's:test_register_decorator_fun_chaining:_&:' \ + -e 's:test_register_direct_bound_method:_&:' \ + -e 's:test_register_direct_cmd:_&:' \ + -e 's:test_register_simple_decorator_fun_chaining:_&:' \ + -e 's:test_custom_stream:_&:' \ + -e 's:test_create_destroy:_&:' \ + -e 's:test_event_callback:_&:' \ + -e 's:test_flags:_&:' \ + -e 's:test_log_handler:_&:' \ + -e 's:test_options:_&:' \ + -e 's:test_instance_method_property_observer:_&:' \ + -e 's:test_unobserve_property_runtime_error:_&:' \ + mpv-test.py || die + + distutils-r1_python_prepare_all + +} + +python_test() { + virtx pytest -vv mpv-test.py +} |