summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_posix.py
Commit message (Collapse)AuthorAgeFilesLines
* [3.9] gh-97897: Prevent os.mkfifo and os.mknod segfaults with macOS 13 SDK ↵Miss Islington (bot)2022-10-061-0/+22
| | | | | | | | | | | | | (GH-97944) (#97968) The macOS 13 SDK includes support for the `mkfifoat` and `mknodat` system calls. Using the `dir_fd` option with either `os.mkfifo` or `os.mknod` could result in a segfault if cpython is built with the macOS 13 SDK but run on an earlier version of macOS. Prevent this by adding runtime support for detection of these system calls ("weaklinking") as is done for other newer syscalls on macOS. (cherry picked from commit 6d0a0191a4e5477bd843e62c24d7f3bcad4fd5fc) Co-authored-by: Ned Deily <nad@python.org>
* bpo-47205: Skip error check of sched_get/setaffinity on FreeBSD (GH-32285)Miss Islington (bot)2022-04-031-2/+6
| | | | | (cherry picked from commit b82cdd1dac9a9be52051abd90a1ce69236ac41f4) Co-authored-by: Christian Heimes <christian@python.org>
* [3.9] bpo-46426: Improve tests for the dir_fd argument (GH-30668) (GH-30757)Serhiy Storchaka2022-01-241-209/+195
| | | | | | | | | | Ensure that directory file descriptors refer to directories different from the current directory, and that src_dir_fd and dst_dir_fd refer to different directories. Add context manager open_dir_fd() in test.support.os_helper. (cherry picked from commit 54610bb448a9cf5be77d53b66169fca4c11be6cb) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* [3.9] bpo-45229: Remove test_main in many tests (GH-28405) (GH-28456)Serhiy Storchaka2021-09-201-12/+4
| | | | | | | | | | | Instead of explicitly enumerate test classes for run_unittest() use the unittest ability to discover tests. This also makes these tests discoverable and runnable with unittest. load_tests() can be used for dynamic generating tests and adding doctests. setUpModule(), tearDownModule() and addModuleCleanup() can be used for running code before and after all module tests.. (cherry picked from commit 40348acc180580371d25f75f46b27048e35f2435)
* bpo-42504: Ensure that get_config_var('MACOSX_DEPLOYMENT_TARGET') is a ↵Miss Islington (bot)2021-02-011-1/+1
| | | | | | | | string (GH-24341) (GH-24410) * bpo-42504: Ensure that get_config_var('MACOSX_DEPLOYMENT_TARGET') is a string (cherry picked from commit 49926cf2bcc8b44d9b8f148d81979ada191dd9d5) Co-authored-by: Ronald Oussoren <ronaldoussoren@mac.com>
* bpo-42504: fix for MACOSX_DEPLOYMENT_TARGET=11 (GH-23556)Miss Islington (bot)2020-12-031-1/+1
| | | | | | macOS releases numbering has changed as of macOS 11 Big Sur. Previously, major releases were of the form 10.x, 10.x+1, 10.x+2, etc; as of Big Sur, they are now x, x+1, etc, so, for example, 10.15, 10.15.1, ..., 10.15.7, 11, 11.0.1, 11.1, ..., 12, 12.1, etc. Allow Python to build with single-digit deployment target values. Patch provided by FX Coudert. (cherry picked from commit 5291639e611dc3f55a34666036f2c3424648ba50) Co-authored-by: FX Coudert <fxcoudert@gmail.com>
* [3.9] bpo-41100: Support macOS 11 and Apple Silicon (GH-22855) (GH-23295)Ronald Oussoren2020-11-221-0/+228
| | | | | | | | | | | | | | | | | | | | * [3.9] bpo-41100: Support macOS 11 and Apple Silicon (GH-22855) Co-authored-by: Lawrence D’Anna <lawrence_danna@apple.com> * Add support for macOS 11 and Apple Silicon (aka arm64) As a side effect of this work use the system copy of libffi on macOS, and remove the vendored copy * Support building on recent versions of macOS while deploying to older versions This allows building installers on macOS 11 while still supporting macOS 10.9.. (cherry picked from commit 41761933c1c30bb6003b65eef1ba23a83db4eae4) Co-authored-by: Ronald Oussoren <ronaldoussoren@mac.com> * Back port of changes to _decimal to support arm64 * temp_dir is in test.support in 3.9
* bpo-40094: Add test.support.wait_process() (GH-19254)Victor Stinner2020-03-311-26/+25
| | | | | | | | | Moreover, the following tests now check the child process exit code: * test_os.PtyTests * test_mailbox.test_lock_conflict() * test_tempfile.test_process_awareness() * test_uuid.testIssue8621() * multiprocessing resource tracker tests
* bpo-39395: putenv() and unsetenv() always available (GH-18135)Victor Stinner2020-01-241-1/+0
| | | | | | | | The os.putenv() and os.unsetenv() functions are now always available. On non-Windows platforms, Python now requires setenv() and unsetenv() functions to build. Remove putenv_dict from posixmodule.c: it's not longer needed.
* bpo-38692: Skip test_posix.test_pidfd_open() on EPERM (GH-17290)Victor Stinner2019-11-211-0/+2
| | | | | | Skip the test_posix.test_pidfd_open() test if os.pidfd_open() fails with a PermissionError. This situation can happen in a Linux sandbox using a syscall whitelist which doesn't allow the pidfd_open() syscall yet (like systemd-nspawn).
* bpo-38692: Add os.pidfd_open. (GH-17063)Benjamin Peterson2019-11-061-0/+9
|
* bpo-38493: Add os.CLD_KILLED and os.CLD_STOPPED. (GH-16821)Dong-hee Na2019-10-211-0/+10
|
* closes bpo-37420: Handle errors during iteration in os.sched_setaffinity. ↵Brandt Bucher2019-06-271-0/+1
| | | | (GH-14414)
* bpo-35537: Rewrite setsid test for os.posix_spawn (GH-11721)Victor Stinner2019-06-141-16/+28
| | | | bpo-35537, bpo-35876: Fix also test_start_new_session() of test_subprocess: use os.getsid() rather than os.getpgid().
* Fix test_posix if RWF_HIPRI is defined but not preadv2. (GH-13980)Benjamin Peterson2019-06-111-0/+2
| | | If preadv2 is not available, preadv will raise NotImplementedError.
* bpo-36814: ensure os.posix_spawn() handles None (GH-13144)Anthony Shaw2019-05-101-0/+9
| | | | Fix an issue where os.posix_spawn() would incorrectly raise a TypeError when file_actions is None.
* Skip test_preadv_flags if RWF_HIPRI is not supported by the system (GH-12762)Pablo Galindo2019-04-131-0/+8
|
* Clean up code which checked presence of os.{stat,lstat,chmod} (#11643)Anthony Sottile2019-02-251-5/+1
|
* bpo-35537: Skip test_start_new_session() of posix_spawn (GH-11718)Victor Stinner2019-02-011-0/+2
| | | The test fails. Skip the test until a fix can be found.
* bpo-35537: Add setsid parameter to os.posix_spawn() and os.posix_spawnp() ↵Joannah Nanjekye2019-02-011-0/+16
| | | | (GH-11608)
* bpo-35794: Catch PermissionError in test_no_such_executable (GH-11635)Pablo Galindo2019-01-211-1/+3
| | | | PermissionError can be raised if there are directories in the $PATH that are not accessible when using posix_spawnp.
* bpo-35674: Add os.posix_spawnp() (GH-11554)Joannah Nanjekye2019-01-161-71/+119
| | | Add a new os.posix_spawnp() function.
* bpo-35568: add 'raise_signal' function (GH-11335)Vladimir Matveev2019-01-081-4/+4
| | | | | | As in title, expose C `raise` function as `raise_function` in `signal` module. Also drop existing `raise_signal` in `_testcapi` module and replace all usages with new function. https://bugs.python.org/issue35568
* bpo-34685: Skip posix_spawn scheduler tests on BSD (GH-9316)Pablo Galindo2018-09-141-6/+10
| | | * Skip posix_spawn scheduler tests on BSD. We were already skyping similar tests as the behaviour can depend on the implementation in some cases.
* closes bpo-34650: Check if sched_getscheduler returns ENOSYS before ↵Benjamin Peterson2018-09-121-3/+15
| | | | | declaring it supported. (GH-9228) musl doesn't support the scheduler API, but declares stubs that alway return ENOSYS.
* bpo-20104: Change the file_actions parameter of os.posix_spawn(). (GH-6725)Serhiy Storchaka2018-09-081-29/+28
| | | | | * Make its default value an empty tuple instead of None. * Make it a keyword-only parameter.
* bpo-20104: Add flag capabilities to posix_spawn (GH-6693)Pablo Galindo2018-09-071-0/+143
| | | Implement the "attributes objects" parameter of `os.posix_spawn` to complete the implementation and fully cover the underlying API.
* Fix TestPosixSpawn.test_close_file() (GH-8992)Victor Stinner2018-08-291-30/+34
| | | | | | | | Modify TestPosixSpawn to run Python using -I and -S options. Disable site module to avoid side effects. For example, on Fedora 28, if the HOME environment variable is not set, site._getuserbase() calls pwd.getpwuid() which opens /var/lib/sss/mc/passwd, but then leaves the file open which makes test_close_file() to fail.
* bpo-33871: Fix os.sendfile(), os.writev(), os.readv(), etc. (GH-7931)Serhiy Storchaka2018-07-311-0/+53
| | | | | | | | | | | | * Fix integer overflow in os.readv(), os.writev(), os.preadv() and os.pwritev() and in os.sendfile() with headers or trailers arguments (on BSD-based OSes and MacOS). * Fix sending the part of the file in os.sendfile() on MacOS. Using the trailers argument could cause sending more bytes from the input file than was specified. Thanks Ned Deily for testing on 32-bit MacOS.
* bpo-31044, test_posix: Reenable makedev() tests on FreeBSD (#7449)Victor Stinner2018-06-061-5/+0
| | | | | | The bug has been fixed 10 months ago: * https://svnweb.freebsd.org/base?view=revision&revision=321920 * https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=221048
* bpo-33655: Also ignore test_posix_fallocate failures on BSD platforms (GH-7134)Ned Deily2018-05-261-1/+6
| | | | The failure may be due to the use oF ZFS, a case we already ignore for Solaris-based systems where ZFS is frequently used.
* bpo-33455: Pass os.environ in test_posix::test_specify_environment. (GH-6753)Miro Hrončok2018-05-111-1/+1
| | | | | | Pass os.environ's copy to new process created at test_posix: test_specify_environment. Otherwise important variables such as LD_LIBRARY_PATH are not set and the child process might not work at all in an environment where such variables are required for Python to function.
* bpo-20104: Improve error handling and fix a reference leak in ↵Serhiy Storchaka2018-05-011-17/+160
| | | | os.posix_spawn(). (#6332)
* bpo-20104: Expose `posix_spawn` in the os module (GH-5109)Pablo Galindo2018-01-291-0/+17
| | | | | Add os.posix_spawn to wrap the low level POSIX API of the same name. Contributed by Pablo Galindo.
* bpo-31368: Expose preadv and pwritev in the os module (#5239)Pablo Galindo2018-01-271-0/+50
|
* bpo-32593: Drop FreeBSD 9 and older support (#5232)Victor Stinner2018-01-221-0/+1
| | | Drop support of FreeBSD 9 and older.
* bpo-28759: Skip some tests on PermissionError raised by Android (GH-4350)xdegaye2017-11-121-11/+15
| | | | | | Access to mkfifo(), mknod() and hard link creation is controled by SELinux on Android. Also remove test.support.android_not_root.
* bpo-31106: Fix handling of erros in posix_fallocate() and posix_fadvise() ↵Коренберг Марк2017-08-141-0/+19
| | | | (#3000) (#3000)
* bpo-31044: Skip test_posix.test_makedev() on FreeBSD (#2915)Victor Stinner2017-07-271-0/+4
| | | | | There is a bug in FreeBSD CURRENT with 64-bit dev_t. Skip the test if dev_t is larger than 32-bit, until the bug is fixed in FreeBSD CURRENT.
* bpo-30879: os.listdir() and os.scandir() now emit bytes names when (#2634)Serhiy Storchaka2017-07-111-3/+11
| | | | called with bytes-like argument.
* bpo-30746: Prohibited the '=' character in environment variable names (#2382)Serhiy Storchaka2017-06-251-0/+15
| | | | in `os.putenv()` and `os.spawn*()`.
* bpo-16500: Don't use string constants for os.register_at_fork() behavior (#1834)Gregory P. Smith2017-05-291-7/+29
| | | | Instead use keyword only arguments to os.register_at_fork for each of the scenarios. Updates the documentation for clarity.
* bpo-16500: Allow registering at-fork handlers (#1715)Antoine Pitrou2017-05-271-0/+40
| | | | | | | | | | | | * bpo-16500: Allow registering at-fork handlers * Address Serhiy's comments * Add doc for new C API * Add doc for new Python-facing function * Add NEWS entry + doc nit
* Issue #28759: Fix the tests that fail with PermissionError when run asXavier de Gaye2016-12-131-0/+6
| | | | a non-root user on Android where access rights are controled by SELinux MAC.
* Issue #26944: Fix test_posix for Android where 'id -G' is entirely wrongXavier de Gaye2016-10-191-7/+10
| | | | or missing the effective gid.
* Issue #26027, #27524: Add PEP 519/__fspath__() support to os andBrett Cannon2016-08-261-5/+5
| | | | | | os.path. Thanks to Jelle Zijlstra for the initial patch against posixmodule.c.
* Issue #26800: Undocumented support of general bytes-like objectsSerhiy Storchaka2016-08-061-1/+3
| | | | as paths in os functions is now deprecated.
* Issue #23277: Remove unused imports in tests.Serhiy Storchaka2016-04-241-1/+0
|
* Issue #26671: Fixed tests for changed error messages.Serhiy Storchaka2016-04-081-3/+3
|
* Issue #23738: Merge 3.4 into 3.5Martin Panter2015-09-091-0/+8
|\