Add new features
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
# vi:si:et:sw=4:sts=4:ts=4
|
||||
|
||||
import os
|
||||
from unittest import mock
|
||||
|
||||
from whipper.extern.task import task
|
||||
|
||||
@@ -89,3 +90,59 @@ class CacheTestCase(common.TestCase):
|
||||
t = AnalyzeFileTask(path)
|
||||
self.runner.run(t)
|
||||
self.assertTrue(t.defeatsCache)
|
||||
|
||||
|
||||
class ReadTrackAbortTestCase(common.TestCase):
|
||||
def testAbortTerminatesRunningProcess(self):
|
||||
popen = mock.Mock()
|
||||
popen.poll.return_value = None
|
||||
|
||||
rip_task = cdparanoia.ReadTrackTask(
|
||||
'/tmp/track.wav', mock.Mock(), 0, 0, False
|
||||
)
|
||||
rip_task._popen = popen
|
||||
|
||||
rip_task.abort()
|
||||
|
||||
popen.terminate.assert_called_once_with()
|
||||
|
||||
def testAbortIgnoresFinishedProcess(self):
|
||||
popen = mock.Mock()
|
||||
popen.poll.return_value = 0
|
||||
|
||||
rip_task = cdparanoia.ReadTrackTask(
|
||||
'/tmp/track.wav', mock.Mock(), 0, 0, False
|
||||
)
|
||||
rip_task._popen = popen
|
||||
|
||||
rip_task.abort()
|
||||
|
||||
popen.terminate.assert_not_called()
|
||||
|
||||
|
||||
class ReadVerifyAbortTestCase(common.TestCase):
|
||||
def testAbortDelegatesToCurrentTaskAbort(self):
|
||||
current_task = mock.Mock()
|
||||
current_task.abort = mock.Mock()
|
||||
verify_task = cdparanoia.ReadVerifyTrackTask.__new__(
|
||||
cdparanoia.ReadVerifyTrackTask
|
||||
)
|
||||
verify_task.tasks = [mock.Mock(), current_task]
|
||||
verify_task._task = 2
|
||||
|
||||
verify_task.abort()
|
||||
|
||||
current_task.abort.assert_called_once_with()
|
||||
|
||||
def testAbortFallsBackToStop(self):
|
||||
current_task = mock.Mock()
|
||||
del current_task.abort
|
||||
verify_task = cdparanoia.ReadVerifyTrackTask.__new__(
|
||||
cdparanoia.ReadVerifyTrackTask
|
||||
)
|
||||
verify_task.tasks = [current_task]
|
||||
verify_task._task = 1
|
||||
|
||||
verify_task.abort()
|
||||
|
||||
current_task.stop.assert_called_once_with()
|
||||
|
||||
Reference in New Issue
Block a user