HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux WebLive 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //lib/python3/dist-packages/twisted/_threads/test/test_convenience.py
# Copyright (c) Twisted Matrix Laboratories.
# See LICENSE for details.

"""
Test cases for convenience functionality in L{twisted._threads._convenience}.
"""


from twisted.trial.unittest import SynchronousTestCase
from .._convenience import Quit
from .._ithreads import AlreadyQuit


class QuitTests(SynchronousTestCase):
    """
    Tests for L{Quit}
    """

    def test_isInitiallySet(self):
        """
        L{Quit.isSet} starts as L{False}.
        """
        quit = Quit()
        self.assertEqual(quit.isSet, False)

    def test_setSetsSet(self):
        """
        L{Quit.set} sets L{Quit.isSet} to L{True}.
        """
        quit = Quit()
        quit.set()
        self.assertEqual(quit.isSet, True)

    def test_checkDoesNothing(self):
        """
        L{Quit.check} initially does nothing and returns L{None}.
        """
        quit = Quit()
        self.assertIs(quit.check(), None)

    def test_checkAfterSetRaises(self):
        """
        L{Quit.check} raises L{AlreadyQuit} if L{Quit.set} has been called.
        """
        quit = Quit()
        quit.set()
        self.assertRaises(AlreadyQuit, quit.check)

    def test_setTwiceRaises(self):
        """
        L{Quit.set} raises L{AlreadyQuit} if it has been called previously.
        """
        quit = Quit()
        quit.set()
        self.assertRaises(AlreadyQuit, quit.set)