403Webshell
Server IP : 15.235.198.142  /  Your IP : 216.73.216.190
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 8.3.6
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/twisted/trial/test/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/twisted/trial/test/test_output.py
# Copyright (c) Twisted Matrix Laboratories.
# See LICENSE for details.

"""
Tests for the output generated by trial.
"""
from __future__ import annotations

import os
from io import StringIO
from typing import TypeVar

from twisted.scripts import trial
from twisted.trial import runner
from twisted.trial.test import packages

_T = TypeVar("_T")

_noModuleError = "No module named 'frotz'"


def runTrial(*args: str) -> str:
    from twisted.trial import reporter

    config = trial.Options()
    config.parseOptions(args)
    output = StringIO()
    myRunner = runner.TrialRunner(
        reporter.VerboseTextReporter,
        stream=output,
        workingDirectory=config["temp-directory"],
    )
    suite = trial._getSuite(config)
    myRunner.run(suite)
    return output.getvalue()


class ImportErrorsTests(packages.SysPathManglingTest):
    """Actually run trial as if on the command line and check that the output
    is what we expect.
    """

    def debug(self) -> None:
        pass

    parent = "_testImportErrors"

    def runTrial(self, *args: str) -> str:
        return runTrial("--temp-directory", self.mktemp(), *args)

    def _print(self, stuff: _T) -> _T:
        print(stuff)
        return stuff

    def assertIn(  # type: ignore[override]
        self, container: str, containee: str, *args: object, **kwargs: object
    ) -> str:
        # redefined to be useful in callbacks
        super().assertIn(containee, container, *args, **kwargs)
        return container

    def assertNotIn(  # type: ignore[override]
        self, container: str, containee: str, *args: object, **kwargs: object
    ) -> str:
        # redefined to be useful in callbacks
        super().assertNotIn(containee, container, *args, **kwargs)
        return container

    def test_trialRun(self) -> None:
        self.runTrial()

    def test_nonexistentModule(self) -> str:
        d = self.runTrial("twisted.doesntexist")
        self.assertIn(d, "[ERROR]")
        self.assertIn(d, "twisted.doesntexist")
        return d

    def test_nonexistentPackage(self) -> str:
        d = self.runTrial("doesntexist")
        self.assertIn(d, "doesntexist")
        self.assertIn(d, "ModuleNotFound")
        self.assertIn(d, "[ERROR]")
        return d

    def test_nonexistentPackageWithModule(self) -> str:
        d = self.runTrial("doesntexist.barney")
        self.assertIn(d, "doesntexist.barney")
        self.assertIn(d, "ObjectNotFound")
        self.assertIn(d, "[ERROR]")
        return d

    def test_badpackage(self) -> str:
        d = self.runTrial("badpackage")
        self.assertIn(d, "[ERROR]")
        self.assertIn(d, "badpackage")
        self.assertNotIn(d, "IOError")
        return d

    def test_moduleInBadpackage(self) -> str:
        d = self.runTrial("badpackage.test_module")
        self.assertIn(d, "[ERROR]")
        self.assertIn(d, "badpackage.test_module")
        self.assertNotIn(d, "IOError")
        return d

    def test_badmodule(self) -> str:
        d = self.runTrial("package.test_bad_module")
        self.assertIn(d, "[ERROR]")
        self.assertIn(d, "package.test_bad_module")
        self.assertNotIn(d, "IOError")
        self.assertNotIn(d, "<module ")
        return d

    def test_badimport(self) -> str:
        d = self.runTrial("package.test_import_module")
        self.assertIn(d, "[ERROR]")
        self.assertIn(d, "package.test_import_module")
        self.assertNotIn(d, "IOError")
        self.assertNotIn(d, "<module ")
        return d

    def test_recurseImport(self) -> str:
        d = self.runTrial("package")
        self.assertIn(d, "[ERROR]")
        self.assertIn(d, "test_bad_module")
        self.assertIn(d, "test_import_module")
        self.assertNotIn(d, "<module ")
        self.assertNotIn(d, "IOError")
        return d

    def test_recurseImportErrors(self) -> str:
        d = self.runTrial("package2")
        self.assertIn(d, "[ERROR]")
        self.assertIn(d, "package2")
        self.assertIn(d, "test_module")
        self.assertIn(d, _noModuleError)
        self.assertNotIn(d, "<module ")
        self.assertNotIn(d, "IOError")
        return d

    def test_nonRecurseImportErrors(self) -> str:
        d = self.runTrial("-N", "package2")
        self.assertIn(d, "[ERROR]")
        self.assertIn(d, _noModuleError)
        self.assertNotIn(d, "<module ")
        return d

    def test_regularRun(self) -> str:
        d = self.runTrial("package.test_module")
        self.assertNotIn(d, "[ERROR]")
        self.assertNotIn(d, "IOError")
        self.assertIn(d, "OK")
        self.assertIn(d, "PASSED (successes=1)")
        return d

    def test_filename(self) -> str:
        self.mangleSysPath(self.oldPath)
        d = self.runTrial(os.path.join(self.parent, "package", "test_module.py"))
        self.assertNotIn(d, "[ERROR]")
        self.assertNotIn(d, "IOError")
        self.assertIn(d, "OK")
        self.assertIn(d, "PASSED (successes=1)")
        return d

    def test_dosFile(self) -> str:
        ## XXX -- not really an output test, more of a script test
        self.mangleSysPath(self.oldPath)
        d = self.runTrial(os.path.join(self.parent, "package", "test_dos_module.py"))
        self.assertNotIn(d, "[ERROR]")
        self.assertNotIn(d, "IOError")
        self.assertIn(d, "OK")
        self.assertIn(d, "PASSED (successes=1)")
        return d

Youez - 2016 - github.com/yon3zu
LinuXploit