parent
							
								
									29abcdbe0b
								
							
						
					
					
						commit
						c5fa4da229
					
				| 
						 | 
				
			
			@ -0,0 +1,144 @@
 | 
			
		|||
# mypy: allow-untyped-defs
 | 
			
		||||
"""Command line options, ini-file and conftest.py processing."""
 | 
			
		||||
 | 
			
		||||
import argparse
 | 
			
		||||
import collections.abc
 | 
			
		||||
import copy
 | 
			
		||||
import dataclasses
 | 
			
		||||
import enum
 | 
			
		||||
from functools import lru_cache
 | 
			
		||||
import glob
 | 
			
		||||
import importlib.metadata
 | 
			
		||||
import inspect
 | 
			
		||||
import os
 | 
			
		||||
from pathlib import Path
 | 
			
		||||
import re
 | 
			
		||||
import shlex
 | 
			
		||||
import sys
 | 
			
		||||
from textwrap import dedent
 | 
			
		||||
import types
 | 
			
		||||
from types import FunctionType
 | 
			
		||||
from typing import Any
 | 
			
		||||
from typing import Callable
 | 
			
		||||
from typing import cast
 | 
			
		||||
from typing import Dict
 | 
			
		||||
from typing import Final
 | 
			
		||||
from typing import final
 | 
			
		||||
from typing import Generator
 | 
			
		||||
from typing import IO
 | 
			
		||||
from typing import Iterable
 | 
			
		||||
from typing import Iterator
 | 
			
		||||
from typing import List
 | 
			
		||||
from typing import Optional
 | 
			
		||||
from typing import Sequence
 | 
			
		||||
from typing import Set
 | 
			
		||||
from typing import TextIO
 | 
			
		||||
from typing import Tuple
 | 
			
		||||
from typing import Type
 | 
			
		||||
from typing import TYPE_CHECKING
 | 
			
		||||
from typing import Union
 | 
			
		||||
import warnings
 | 
			
		||||
 | 
			
		||||
import pluggy
 | 
			
		||||
from pluggy import HookimplMarker
 | 
			
		||||
from pluggy import HookimplOpts
 | 
			
		||||
from pluggy import HookspecMarker
 | 
			
		||||
from pluggy import HookspecOpts
 | 
			
		||||
from pluggy import PluginManager
 | 
			
		||||
 | 
			
		||||
# from .compat import PathAwareHookProxy
 | 
			
		||||
# from .exceptions import PrintHelp as PrintHelp
 | 
			
		||||
# from .exceptions import UsageError as UsageError
 | 
			
		||||
# from .findpaths import determine_setup
 | 
			
		||||
from _pytest import __version__
 | 
			
		||||
import _pytest._code
 | 
			
		||||
from _pytest._code import ExceptionInfo
 | 
			
		||||
from _pytest._code import filter_traceback
 | 
			
		||||
 | 
			
		||||
# from _pytest._code.code import TracebackStyle
 | 
			
		||||
from _pytest._io import TerminalWriter
 | 
			
		||||
from _pytest.config.argparsing import Argument
 | 
			
		||||
from _pytest.config.argparsing import Parser
 | 
			
		||||
import _pytest.deprecated
 | 
			
		||||
import _pytest.hookspec
 | 
			
		||||
from _pytest.outcomes import fail
 | 
			
		||||
from _pytest.outcomes import Skipped
 | 
			
		||||
from _pytest.pathlib import absolutepath
 | 
			
		||||
from _pytest.pathlib import bestrelpath
 | 
			
		||||
from _pytest.pathlib import import_path
 | 
			
		||||
from _pytest.pathlib import ImportMode
 | 
			
		||||
from _pytest.pathlib import resolve_package_path
 | 
			
		||||
from _pytest.pathlib import safe_exists
 | 
			
		||||
from _pytest.stash import Stash
 | 
			
		||||
from _pytest.warning_types import PytestConfigWarning
 | 
			
		||||
from _pytest.warning_types import warn_explicit_for
 | 
			
		||||
from _pytest.config import PytestPluginManager
 | 
			
		||||
from _pytest.config import Config
 | 
			
		||||
from _pytest.config.__init__ import create_terminal_writer
 | 
			
		||||
from _pytest.config.__init__ import Config
 | 
			
		||||
from _pytest.config.__init__ import _strtobool
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if TYPE_CHECKING:
 | 
			
		||||
    from _pytest.cacheprovider import Cache
 | 
			
		||||
    from _pytest.terminal import TerminalReporter
 | 
			
		||||
 | 
			
		||||
from _pytest._code import __init__
 | 
			
		||||
import sys
 | 
			
		||||
import os
 | 
			
		||||
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '../../src')))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Test branches 1,3 in create_terminal_writer
 | 
			
		||||
pluginmanager = PytestPluginManager()
 | 
			
		||||
config = Config(pluginmanager=pluginmanager)
 | 
			
		||||
config.option.color = "yes"
 | 
			
		||||
config.option.code_highlight = "yes"
 | 
			
		||||
 | 
			
		||||
tw = create_terminal_writer(config)
 | 
			
		||||
assert tw.hasmarkup == True
 | 
			
		||||
assert tw.code_highlight == True
 | 
			
		||||
 | 
			
		||||
# Test branches 2,4 in create_terminal_writer
 | 
			
		||||
pluginmanager = PytestPluginManager()
 | 
			
		||||
config = Config(pluginmanager=pluginmanager)
 | 
			
		||||
config.option.color = "no"
 | 
			
		||||
config.option.code_highlight = "no"
 | 
			
		||||
 | 
			
		||||
tw = create_terminal_writer(config)
 | 
			
		||||
assert tw.hasmarkup == False
 | 
			
		||||
assert tw.code_highlight == False
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
assert _strtobool("y") == True
 | 
			
		||||
assert _strtobool("n") == False
 | 
			
		||||
print("%d", _strtobool("a"))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# self = PytestPluginManager()
 | 
			
		||||
 | 
			
		||||
# # Test branches 1,3,4 in consider_pluginarg
 | 
			
		||||
# print("Given input: no:cacheprovider")    
 | 
			
		||||
# self.consider_pluginarg("no:cacheprovider")
 | 
			
		||||
 | 
			
		||||
# assert name == "cacheprovider"
 | 
			
		||||
# assert self._name2plugin[name] == None
 | 
			
		||||
# assert self.set_blocked == "stepwise"
 | 
			
		||||
# assert self.set_blocked == "pytest_stepwise"
 | 
			
		||||
# assert self.set_blocked == "pytest_" + name
 | 
			
		||||
 | 
			
		||||
# # Test branches 5,6 in consider_pluginarg  
 | 
			
		||||
# arg = "mark"
 | 
			
		||||
# something.consider_pluginarg("mark")
 | 
			
		||||
# assert name == "mark"
 | 
			
		||||
# assert self.unblock == "pytset_" + name
 | 
			
		||||
# assert consider_entry_points == True
 | 
			
		||||
 | 
			
		||||
# # Test branches 1,2,4 in consider_pluginarg
 | 
			
		||||
# arg = "no:mark"
 | 
			
		||||
# something.consider_pluginarg("no:mark")
 | 
			
		||||
# assert name == "mark"
 | 
			
		||||
# assert self.set_blocked == "pytest_" + name
 | 
			
		||||
 
 | 
			
		||||
		Loading…
	
		Reference in New Issue