Add new features

This commit is contained in:
2026-04-18 17:55:52 +03:00
parent 992923bdc4
commit 56fd3a10c7
7 changed files with 1486 additions and 153 deletions

View File

@@ -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()