__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
# Copyright (c) Twisted Matrix Laboratories.
# See LICENSE for details.
"""
Tests for interrupting tests with Control-C.
"""
from __future__ import annotations
from io import StringIO
from twisted.trial import reporter, runner, unittest
class TrialTest(unittest.SynchronousTestCase):
def setUp(self) -> None:
self.output = StringIO()
self.reporter = reporter.TestResult()
self.loader = runner.TestLoader()
class InterruptInTestTests(TrialTest):
test_03_doNothing_run: bool | None
class InterruptedTest(unittest.TestCase):
def test_02_raiseInterrupt(self) -> None:
raise KeyboardInterrupt
def test_01_doNothing(self) -> None:
pass
def test_03_doNothing(self) -> None:
InterruptInTestTests.test_03_doNothing_run = True
def setUp(self) -> None:
super().setUp()
self.suite = self.loader.loadClass(InterruptInTestTests.InterruptedTest)
InterruptInTestTests.test_03_doNothing_run = None
def test_setUpOK(self) -> None:
self.assertEqual(3, self.suite.countTestCases())
self.assertEqual(0, self.reporter.testsRun)
self.assertFalse(self.reporter.shouldStop)
def test_interruptInTest(self) -> None:
runner.TrialSuite([self.suite]).run(self.reporter)
self.assertTrue(self.reporter.shouldStop)
self.assertEqual(2, self.reporter.testsRun)
self.assertFalse(
InterruptInTestTests.test_03_doNothing_run, "test_03_doNothing ran."
)
class InterruptInSetUpTests(TrialTest):
testsRun = 0
test_02_run: bool
class InterruptedTest(unittest.TestCase):
def setUp(self) -> None:
if InterruptInSetUpTests.testsRun > 0:
raise KeyboardInterrupt
def test_01(self) -> None:
InterruptInSetUpTests.testsRun += 1
def test_02(self) -> None:
InterruptInSetUpTests.testsRun += 1
InterruptInSetUpTests.test_02_run = True
def setUp(self) -> None:
super().setUp()
self.suite = self.loader.loadClass(InterruptInSetUpTests.InterruptedTest)
InterruptInSetUpTests.test_02_run = False
InterruptInSetUpTests.testsRun = 0
def test_setUpOK(self) -> None:
self.assertEqual(0, InterruptInSetUpTests.testsRun)
self.assertEqual(2, self.suite.countTestCases())
self.assertEqual(0, self.reporter.testsRun)
self.assertFalse(self.reporter.shouldStop)
def test_interruptInSetUp(self) -> None:
runner.TrialSuite([self.suite]).run(self.reporter)
self.assertTrue(self.reporter.shouldStop)
self.assertEqual(2, self.reporter.testsRun)
self.assertFalse(InterruptInSetUpTests.test_02_run, "test_02 ran")
class InterruptInTearDownTests(TrialTest):
testsRun = 0
test_02_run: bool
class InterruptedTest(unittest.TestCase):
def tearDown(self) -> None:
if InterruptInTearDownTests.testsRun > 0:
raise KeyboardInterrupt
def test_01(self) -> None:
InterruptInTearDownTests.testsRun += 1
def test_02(self) -> None:
InterruptInTearDownTests.testsRun += 1
InterruptInTearDownTests.test_02_run = True
def setUp(self) -> None:
super().setUp()
self.suite = self.loader.loadClass(InterruptInTearDownTests.InterruptedTest)
InterruptInTearDownTests.testsRun = 0
InterruptInTearDownTests.test_02_run = False
def test_setUpOK(self) -> None:
self.assertEqual(0, InterruptInTearDownTests.testsRun)
self.assertEqual(2, self.suite.countTestCases())
self.assertEqual(0, self.reporter.testsRun)
self.assertFalse(self.reporter.shouldStop)
def test_interruptInTearDown(self) -> None:
runner.TrialSuite([self.suite]).run(self.reporter)
self.assertEqual(1, self.reporter.testsRun)
self.assertTrue(self.reporter.shouldStop)
self.assertFalse(InterruptInTearDownTests.test_02_run, "test_02 ran")
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| __pycache__ | Folder | 0755 |
|
|
| __init__.py | File | 1.68 KB | 0644 |
|
| detests.py | File | 5.63 KB | 0644 |
|
| erroneous.py | File | 6.44 KB | 0644 |
|
| matchers.py | File | 2.88 KB | 0644 |
|
| mockcustomsuite.py | File | 544 B | 0644 |
|
| mockcustomsuite2.py | File | 541 B | 0644 |
|
| mockcustomsuite3.py | File | 684 B | 0644 |
|
| mockdoctest.py | File | 2.36 KB | 0644 |
|
| moduleself.py | File | 178 B | 0644 |
|
| moduletest.py | File | 302 B | 0644 |
|
| novars.py | File | 182 B | 0644 |
|
| ordertests.py | File | 912 B | 0644 |
|
| packages.py | File | 4.54 KB | 0644 |
|
| pyunitcases.py | File | 3.1 KB | 0644 |
|
| sample.py | File | 2.13 KB | 0644 |
|
| scripttest.py | File | 457 B | 0755 |
|
| skipping.py | File | 5.99 KB | 0644 |
|
| suppression.py | File | 2.44 KB | 0644 |
|
| test_assertions.py | File | 59.39 KB | 0644 |
|
| test_asyncassertions.py | File | 2.49 KB | 0644 |
|
| test_deferred.py | File | 9.63 KB | 0644 |
|
| test_doctest.py | File | 1.76 KB | 0644 |
|
| test_keyboard.py | File | 3.96 KB | 0644 |
|
| test_loader.py | File | 23.95 KB | 0644 |
|
| test_log.py | File | 7.85 KB | 0644 |
|
| test_matchers.py | File | 2.97 KB | 0644 |
|
| test_output.py | File | 5.26 KB | 0644 |
|
| test_plugins.py | File | 1.43 KB | 0644 |
|
| test_pyunitcompat.py | File | 7.88 KB | 0644 |
|
| test_reporter.py | File | 56.44 KB | 0644 |
|
| test_runner.py | File | 31.5 KB | 0644 |
|
| test_script.py | File | 32.41 KB | 0644 |
|
| test_skip.py | File | 2.69 KB | 0644 |
|
| test_suppression.py | File | 5.77 KB | 0644 |
|
| test_testcase.py | File | 1.94 KB | 0644 |
|
| test_tests.py | File | 48.83 KB | 0644 |
|
| test_util.py | File | 21.65 KB | 0644 |
|
| test_warning.py | File | 18.4 KB | 0644 |
|
| weird.py | File | 675 B | 0644 |
|