opt
/
hc_python
/
lib
/
python3.12
/
site-packages
/
nose
/
plugins
/
Go to Home Directory
+
Upload
Create File
root@0UT1S:~$
Execute
By Order of Mr.0UT1S
[DIR] ..
N/A
[DIR] __pycache__
N/A
__init__.py
6.14 KB
Rename
Delete
allmodules.py
1.68 KB
Rename
Delete
attrib.py
9.48 KB
Rename
Delete
base.py
25.45 KB
Rename
Delete
builtin.py
1021 bytes
Rename
Delete
capture.py
3.29 KB
Rename
Delete
collect.py
3.08 KB
Rename
Delete
cover.py
11.40 KB
Rename
Delete
debug.py
2.22 KB
Rename
Delete
deprecated.py
1.51 KB
Rename
Delete
doctests.py
17.07 KB
Rename
Delete
errorclass.py
7.10 KB
Rename
Delete
failuredetail.py
1.60 KB
Rename
Delete
isolate.py
3.67 KB
Rename
Delete
logcapture.py
9.14 KB
Rename
Delete
manager.py
15.21 KB
Rename
Delete
multiprocess.py
34.46 KB
Rename
Delete
plugintest.py
13.22 KB
Rename
Delete
prof.py
5.23 KB
Rename
Delete
skip.py
2.09 KB
Rename
Delete
testid.py
9.68 KB
Rename
Delete
xunit.py
11.37 KB
Rename
Delete
""" This plugin bypasses the actual execution of tests, and instead just collects test names. Fixtures are also bypassed, so running nosetests with the collection plugin enabled should be very quick. This plugin is useful in combination with the testid plugin (``--with-id``). Run both together to get an indexed list of all tests, which will enable you to run individual tests by index number. This plugin is also useful for counting tests in a test suite, and making people watching your demo think all of your tests pass. """ from nose.plugins.base import Plugin from nose.case import Test import logging import unittest import collections log = logging.getLogger(__name__) class CollectOnly(Plugin): """ Collect and output test names only, don't run any tests. """ name = "collect-only" enableOpt = 'collect_only' def options(self, parser, env): """Register commandline options. """ parser.add_option('--collect-only', action='store_true', dest=self.enableOpt, default=env.get('NOSE_COLLECT_ONLY'), help="Enable collect-only: %s [COLLECT_ONLY]" % (self.help())) def prepareTestLoader(self, loader): """Install collect-only suite class in TestLoader. """ # Disable context awareness log.debug("Preparing test loader") loader.suiteClass = TestSuiteFactory(self.conf) def prepareTestCase(self, test): """Replace actual test with dummy that always passes. """ # Return something that always passes log.debug("Preparing test case %s", test) if not isinstance(test, Test): return def run(result): # We need to make these plugin calls because there won't be # a result proxy, due to using a stripped-down test suite self.conf.plugins.startTest(test) result.startTest(test) self.conf.plugins.addSuccess(test) result.addSuccess(test) self.conf.plugins.stopTest(test) result.stopTest(test) return run class TestSuiteFactory: """ Factory for producing configured test suites. """ def __init__(self, conf): self.conf = conf def __call__(self, tests=(), **kw): return TestSuite(tests, conf=self.conf) class TestSuite(unittest.TestSuite): """ Basic test suite that bypasses most proxy and plugin calls, but does wrap tests in a nose.case.Test so prepareTestCase will be called. """ def __init__(self, tests=(), conf=None): self.conf = conf # Exec lazy suites: makes discovery depth-first if isinstance(tests, collections.Callable): tests = tests() log.debug("TestSuite(%r)", tests) unittest.TestSuite.__init__(self, tests) def addTest(self, test): log.debug("Add test %s", test) if isinstance(test, unittest.TestSuite): self._tests.append(test) else: self._tests.append(Test(test, config=self.conf))
Save