$66 GRAYBYTE WORDPRESS FILE MANAGER $80

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.15.130 | ADMIN IP 216.73.216.174
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/cloudlinux/venv/lib/python3.11/site-packages/setuptools/tests/

HOME
Current File : /opt/cloudlinux/venv/lib/python3.11/site-packages/setuptools/tests//test_install_scripts.py
"""install_scripts tests"""

import sys

import pytest

from setuptools.command.install_scripts import install_scripts
from setuptools.dist import Distribution

from . import contexts


class TestInstallScripts:
    settings = dict(
        name='foo',
        entry_points={'console_scripts': ['foo=foo:foo']},
        version='0.0',
    )
    unix_exe = '/usr/dummy-test-path/local/bin/python'
    unix_spaces_exe = '/usr/bin/env dummy-test-python'
    win32_exe = 'C:\\Dummy Test Path\\Program Files\\Python 3.6\\python.exe'

    def _run_install_scripts(self, install_dir, executable=None):
        dist = Distribution(self.settings)
        dist.script_name = 'setup.py'
        cmd = install_scripts(dist)
        cmd.install_dir = install_dir
        if executable is not None:
            bs = cmd.get_finalized_command('build_scripts')
            bs.executable = executable
        cmd.ensure_finalized()
        with contexts.quiet():
            cmd.run()

    @pytest.mark.skipif(sys.platform == 'win32', reason='non-Windows only')
    def test_sys_executable_escaping_unix(self, tmpdir, monkeypatch):
        """
        Ensure that shebang is not quoted on Unix when getting the Python exe
        from sys.executable.
        """
        expected = f'#!{self.unix_exe}\n'
        monkeypatch.setattr('sys.executable', self.unix_exe)
        with tmpdir.as_cwd():
            self._run_install_scripts(str(tmpdir))
            with open(str(tmpdir.join('foo')), 'r', encoding="utf-8") as f:
                actual = f.readline()
        assert actual == expected

    @pytest.mark.skipif(sys.platform != 'win32', reason='Windows only')
    def test_sys_executable_escaping_win32(self, tmpdir, monkeypatch):
        """
        Ensure that shebang is quoted on Windows when getting the Python exe
        from sys.executable and it contains a space.
        """
        expected = f'#!"{self.win32_exe}"\n'
        monkeypatch.setattr('sys.executable', self.win32_exe)
        with tmpdir.as_cwd():
            self._run_install_scripts(str(tmpdir))
            with open(str(tmpdir.join('foo-script.py')), 'r', encoding="utf-8") as f:
                actual = f.readline()
        assert actual == expected

    @pytest.mark.skipif(sys.platform == 'win32', reason='non-Windows only')
    def test_executable_with_spaces_escaping_unix(self, tmpdir):
        """
        Ensure that shebang on Unix is not quoted, even when
        a value with spaces
        is specified using --executable.
        """
        expected = f'#!{self.unix_spaces_exe}\n'
        with tmpdir.as_cwd():
            self._run_install_scripts(str(tmpdir), self.unix_spaces_exe)
            with open(str(tmpdir.join('foo')), 'r', encoding="utf-8") as f:
                actual = f.readline()
        assert actual == expected

    @pytest.mark.skipif(sys.platform != 'win32', reason='Windows only')
    def test_executable_arg_escaping_win32(self, tmpdir):
        """
        Ensure that shebang on Windows is quoted when
        getting a path with spaces
        from --executable, that is itself properly quoted.
        """
        expected = f'#!"{self.win32_exe}"\n'
        with tmpdir.as_cwd():
            self._run_install_scripts(str(tmpdir), '"' + self.win32_exe + '"')
            with open(str(tmpdir.join('foo-script.py')), 'r', encoding="utf-8") as f:
                actual = f.readline()
        assert actual == expected


Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
11 Feb 2026 9.30 AM
root / root
0755
__pycache__
--
11 Feb 2026 9.30 AM
root / root
0755
compat
--
11 Feb 2026 9.30 AM
root / root
0755
config
--
11 Feb 2026 9.30 AM
root / root
0755
indexes
--
20 Jan 2026 1.01 PM
root / root
0755
integration
--
11 Feb 2026 9.30 AM
root / root
0755
__init__.py
0.327 KB
20 Jan 2026 1.01 PM
root / root
0644
contexts.py
3.092 KB
20 Jan 2026 1.01 PM
root / root
0644
environment.py
3.029 KB
20 Jan 2026 1.01 PM
root / root
0644
fixtures.py
11.431 KB
20 Jan 2026 1.01 PM
root / root
0644
mod_with_constant.py
0.021 KB
20 Jan 2026 1.01 PM
root / root
0644
namespaces.py
2.709 KB
20 Jan 2026 1.01 PM
root / root
0644
script-with-bom.py
0.018 KB
20 Jan 2026 1.01 PM
root / root
0644
test_archive_util.py
0.825 KB
20 Jan 2026 1.01 PM
root / root
0644
test_bdist_deprecations.py
0.757 KB
20 Jan 2026 1.01 PM
root / root
0644
test_bdist_egg.py
1.911 KB
20 Jan 2026 1.01 PM
root / root
0644
test_bdist_wheel.py
22.542 KB
20 Jan 2026 1.01 PM
root / root
0644
test_build.py
0.779 KB
20 Jan 2026 1.01 PM
root / root
0644
test_build_clib.py
3.05 KB
20 Jan 2026 1.01 PM
root / root
0644
test_build_ext.py
9.862 KB
20 Jan 2026 1.01 PM
root / root
0644
test_build_meta.py
32.509 KB
20 Jan 2026 1.01 PM
root / root
0644
test_build_py.py
13.854 KB
20 Jan 2026 1.01 PM
root / root
0644
test_config_discovery.py
22.051 KB
20 Jan 2026 1.01 PM
root / root
0644
test_core_metadata.py
20.392 KB
20 Jan 2026 1.01 PM
root / root
0644
test_depends.py
0.414 KB
20 Jan 2026 1.01 PM
root / root
0644
test_develop.py
3 KB
20 Jan 2026 1.01 PM
root / root
0644
test_dist.py
8.685 KB
20 Jan 2026 1.01 PM
root / root
0644
test_dist_info.py
4.871 KB
20 Jan 2026 1.01 PM
root / root
0644
test_distutils_adoption.py
5.847 KB
20 Jan 2026 1.01 PM
root / root
0644
test_editable_install.py
41.62 KB
20 Jan 2026 1.01 PM
root / root
0644
test_egg_info.py
43.888 KB
20 Jan 2026 1.01 PM
root / root
0644
test_extern.py
0.289 KB
20 Jan 2026 1.01 PM
root / root
0644
test_find_packages.py
7.636 KB
20 Jan 2026 1.01 PM
root / root
0644
test_find_py_modules.py
2.348 KB
20 Jan 2026 1.01 PM
root / root
0644
test_glob.py
0.866 KB
20 Jan 2026 1.01 PM
root / root
0644
test_install_scripts.py
3.353 KB
20 Jan 2026 1.01 PM
root / root
0644
test_logging.py
2.05 KB
20 Jan 2026 1.01 PM
root / root
0644
test_manifest.py
18.127 KB
20 Jan 2026 1.01 PM
root / root
0644
test_namespaces.py
4.409 KB
20 Jan 2026 1.01 PM
root / root
0644
test_scripts.py
0.37 KB
20 Jan 2026 1.01 PM
root / root
0644
test_sdist.py
32.102 KB
20 Jan 2026 1.01 PM
root / root
0644
test_setopt.py
1.333 KB
20 Jan 2026 1.01 PM
root / root
0644
test_setuptools.py
8.797 KB
20 Jan 2026 1.01 PM
root / root
0644
test_shutil_wrapper.py
0.626 KB
20 Jan 2026 1.01 PM
root / root
0644
test_unicode_utils.py
0.309 KB
20 Jan 2026 1.01 PM
root / root
0644
test_virtualenv.py
3.643 KB
20 Jan 2026 1.01 PM
root / root
0644
test_warnings.py
3.269 KB
20 Jan 2026 1.01 PM
root / root
0644
test_wheel.py
18.313 KB
20 Jan 2026 1.01 PM
root / root
0644
test_windows_wrappers.py
7.684 KB
20 Jan 2026 1.01 PM
root / root
0644
text.py
0.12 KB
20 Jan 2026 1.01 PM
root / root
0644
textwrap.py
0.096 KB
20 Jan 2026 1.01 PM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF