Brian Curtin
52173d4959
Fix #9333 . Expose os.symlink on Windows only when usable.
...
In order to create symlinks on Windows, SeCreateSymbolicLinkPrivilege
is an account privilege that is required to be held by the user. Not only
must the privilege be enabled for the account, the activated privileges for
the currently running application must be adjusted to enable the requested
privilege.
Rather than exposing an additional function to be called prior to the user's
first os.symlink call, we handle the AdjustTokenPrivileges Windows API call
internally and only expose os.symlink when the privilege escalation was
successful.
Due to the change of only exposing os.symlink when it's available, we can
go back to the original test skipping methods of checking via `hasattr`.
2010-12-02 18:29:18 +00:00
Nick Coghlan
5b0eca116a
Issue #4489 : Rename the feature marker for the symlink resistant rmtree and store it as a function attribute
2012-06-24 16:43:06 +10:00
Antoine Pitrou
4f6e3f74fc
Avoid depending on directory iteration order in test_shutil
2012-06-23 22:05:11 +02:00
Antoine Pitrou
f3a166d799
Add debug output to test_shutil
2012-06-23 21:32:36 +02:00
Antoine Pitrou
2f8a75c7a7
Proper cleanup in test_shutil, even in case of error.
2012-06-23 21:28:15 +02:00
Hynek Schlawack
2100b42317
#4489 : Fix usage of fd-based functions to new api introduced earlier today
...
Also add an explicit test for safe implementation usage on supported platforms.
As a side effect, this commit adds a module-level attribute 'rmtree_is_safe'
which offers introspection whether the current rmtree implementation is safe
against symlink attacks.
2012-06-23 20:28:32 +02:00
Hynek Schlawack
67be92bed4
#4489 : Add a shutil.rmtree that isn't suspectible to symlink attacks
...
It is used automatically on platforms supporting the necessary os.openat() and
os.unlinkat() functions. Main code by Martin von Löwis.
2012-06-23 17:58:42 +02:00
Larry Hastings
90867a5aba
Issue #14626 : Fix buildbot issues on FreeBSD (AMD64). (Fingers crossed.)
2012-06-22 17:01:41 -07:00
Larry Hastings
9cf065cfdc
Issue #14626 : Large refactoring of functions / parameters in the os module.
...
Many functions now support "dir_fd" and "follow_symlinks" parameters;
some also support accepting an open file descriptor in place of of a path
string. Added os.support_* collections as LBYL helpers. Removed many
functions only previously seen in 3.3 alpha releases (often starting with
"f" or "l", or ending with "at"). Originally suggested by Serhiy Storchaka;
implemented by Larry Hastings.
2012-06-22 16:30:09 -07:00
Antoine Pitrou
07c24d13ed
Issue #444582 : shutil.which() respects relative paths.
2012-06-22 23:33:05 +02:00
Brian Curtin
c57a34577c
Fix #444582 . Add shutil.which function for finding programs on the system path.
2012-06-22 16:00:30 -05:00
Brian Curtin
0d0a1dedbc
Fix #14772 : Return the destination from some shutil functions.
2012-06-18 18:41:07 -05:00
Antoine Pitrou
61597d3e92
Try to fix test_shutil failure under Fedora - patch by Hynek.
2012-05-12 23:37:35 +02:00
Antoine Pitrou
424246fbf3
Issue #14082 : shutil.copy2() now copies extended attributes, if possible.
...
Patch by Hynek Schlawack.
2012-05-12 19:02:01 +02:00
Ned Deily
baf75713c7
Issue #14662 : Prevent shutil failures on OS X when destination does not
...
support chflag operations. (Patch by Hynek Schlawack)
2012-05-10 17:05:19 -07:00
Antoine Pitrou
cfade36227
Relax tests to fix buildbot failure
2012-02-08 23:48:59 +01:00
Antoine Pitrou
bcf2b59fb5
Issue #13609 : Add two functions to query the terminal size:
...
os.get_terminal_size (low level) and shutil.get_terminal_size (high level).
Patch by Zbigniew Jędrzejewski-Szmek.
2012-02-08 23:28:36 +01:00
Antoine Pitrou
0a08d7a095
Issue #9993 : When the source and destination are on different filesystems,
...
and the source is a symlink, shutil.move() now recreates a symlink on the
destination instead of copying the file contents.
Patch by Jonathan Niehof and Hynek Schlawack.
2012-01-06 20:16:19 +01:00
Antoine Pitrou
c041ab6c7d
Mock the rename failure a bit better
2012-01-02 19:18:02 +01:00
Antoine Pitrou
78091e63d6
Issue #12715 : Add an optional symlinks argument to shutil functions (copyfile, copymode, copystat, copy, copy2).
...
When that parameter is true, symlinks aren't dereferenced and the operation
instead acts on the symlink itself (or creates one, if relevant).
Patch by Hynek Schlawack.
2011-12-29 18:54:15 +01:00
Sandro Tosi
91f948a734
#12191 : fix build failures, explicitly passing group argument when I want to test it
2011-08-22 23:55:39 +02:00
Sandro Tosi
d902a14dd0
#12191 : add shutil.chown() to change user and/or group owner of a given path also specifying their names.
2011-08-22 23:28:27 +02:00
Éric Araujo
a7e33a10ae
Clean up test_shutil, to facilitate upcoming improvements ( #12721 ).
...
The tests now have two convenience functions to wrap os.path.join, open
and read or write instead of four or six slightly different functions.
The new functions accept a tuple of path segments but not a list
anymore, as it makes no sense to use a list here; I have also removed
the default value for the contents in write_file, as I find it better to
have the contents at the call site.
For simple open then read/write calls, I have left the usual idiom (with
open + read/write), as it is short and readable enough.
I’ve also changed some convoluted cleanup code to just use rmtree, and
removed dubious LBYL os.path.exists checks. The tests still pass on my
machine, and leave no file in $TMP. test_shutil is not as clean as it
could be, but I’ll stop here.
Initial patch provided by Hynek Schlawack, in preparation for a new
feature with new tests in #12715 .
2011-08-12 19:51:35 +02:00
Senthil Kumaran
cc78c443f2
merge from 3.2
2011-07-03 18:22:14 -07:00
Éric Araujo
2ee61884fe
Clean up NEWS entry and tests for shutil.disk_usage ( #12442 )
2011-07-02 16:45:45 +02:00
Giampaolo Rodola'
210e7ca032
Issue #12442 : add shutil.disk_usage()
2011-07-01 13:55:36 +02:00
Victor Stinner
bf816223df
Issue #12451 : Add support.create_empty_file()
...
We don't need to create a temporary buffered binary or text file object just to
create an empty file.
Replace also os.fdopen(handle).close() by os.close(handle).
2011-06-30 23:25:47 +02:00
Ezio Melotti
975077a889
Refactor a few tests to use the new requires_zlib decorator.
2011-05-19 22:03:22 +03:00
Ezio Melotti
b3aedd4862
#9424 : Replace deprecated assert* methods in the Python test suite.
2010-11-20 19:04:17 +00:00
Éric Araujo
1c5054996f
Fix one omission in r78359
2010-11-06 02:12:51 +00:00
Antoine Pitrou
ea5d827b72
Merged revisions 85503 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r85503 | antoine.pitrou | 2010-10-15 00:11:44 +0200 (ven., 15 oct. 2010) | 2 lines
More proper closing of files
........
2010-10-14 22:14:36 +00:00
Antoine Pitrou
92f60ed82a
More proper closing of files
2010-10-14 22:11:44 +00:00
Brian Curtin
d40e6f70a5
Implement #1578269 . Patch by Jason R. Coombs.
...
Added Windows support for os.symlink when run on Windows 6.0 or greater,
aka Vista. Previous Windows versions will raise NotImplementedError
when trying to symlink.
Includes numerous test updates and additions to test_os, including
a symlink_support module because of the fact that privilege escalation
is required in order to run the tests to ensure that the user is able
to create symlinks. By default, accounts do not have the required
privilege, so the escalation code will have to be exposed later (or
documented on how to do so). I'll be following up with that work next.
Note that the tests use ctypes, which was agreed on during the PyCon
language summit.
2010-07-08 21:39:08 +00:00
Tarek Ziadé
9623980d01
Merged revisions 80833 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
................
r80833 | tarek.ziade | 2010-05-06 00:27:31 +0200 (Thu, 06 May 2010) | 9 lines
Merged revisions 80830 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r80830 | tarek.ziade | 2010-05-06 00:15:31 +0200 (Thu, 06 May 2010) | 1 line
Fixed #4265 : shutil.copyfile() was leaking file descriptors when disk fills
........
................
2010-05-05 22:39:31 +00:00
Tarek Ziadé
ae4d5c6b64
Merged revisions 80830 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r80830 | tarek.ziade | 2010-05-06 00:15:31 +0200 (Thu, 06 May 2010) | 1 line
Fixed #4265 : shutil.copyfile() was leaking file descriptors when disk fills
........
2010-05-05 22:27:31 +00:00
Tarek Ziadé
ffa155ad83
make sure shutil checks for bz2 availability before it uses it.
2010-04-29 13:34:35 +00:00
Tarek Ziadé
6ac91723bd
#8295 : Added shutil.unpack_archive and related APIs
2010-04-28 17:51:36 +00:00
Tarek Ziadé
51a6f72d19
make sure os.symlink presence is tested before running some shutil tests -- also refactored the tests to use unittest.skipUnless
2010-04-23 13:03:09 +00:00
Tarek Ziadé
5e2be8737d
Merged revisions 80282 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r80282 | tarek.ziade | 2010-04-20 23:09:06 +0200 (Tue, 20 Apr 2010) | 1 line
removed ztar support in shutil.make_archive
........
2010-04-20 21:40:47 +00:00
Tarek Ziadé
fb437513d6
Fixed #6547 : Added the ignore_dangling_symlinks option to shutil.copytree
2010-04-20 08:57:33 +00:00
Tarek Ziadé
5340db3803
Fixed #1540112 : now shutil.copytree will let you provide your own copy() function
2010-04-19 22:30:51 +00:00
Florent Xicluna
8fbddf15ea
Merged revisions 79030-79032 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r79030 | florent.xicluna | 2010-03-17 20:05:04 +0100 (mer, 17 mar 2010) | 2 lines
Cleanup in test_import and test_coding.
........
r79031 | florent.xicluna | 2010-03-17 20:15:56 +0100 (mer, 17 mar 2010) | 2 lines
Cleanup some test cases using check_warnings and check_py3k_warnings.
........
r79032 | florent.xicluna | 2010-03-17 21:05:11 +0100 (mer, 17 mar 2010) | 2 lines
Fix and check cgi module deprecation warnings. Revert an unwanted rename in test_import.
........
2010-03-17 20:29:51 +00:00
Tarek Ziadé
396fad7a47
Merged revisions 78359-78360 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r78359 | tarek.ziade | 2010-02-23 00:16:41 -0500 (Tue, 23 Feb 2010) | 1 line
added make_archive (and secondary APIs) to shutil
........
r78360 | tarek.ziade | 2010-02-23 00:20:22 -0500 (Tue, 23 Feb 2010) | 1 line
added a note on shutil new APIs
........
2010-02-23 05:30:31 +00:00
Antoine Pitrou
2bb246ac12
Merged revisions 76103 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
................
r76103 | antoine.pitrou | 2009-11-04 01:57:15 +0100 (mer., 04 nov. 2009) | 9 lines
Merged revisions 76101 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r76101 | antoine.pitrou | 2009-11-04 01:50:26 +0100 (mer., 04 nov. 2009) | 3 lines
Make test_shutil clean up after itself
........
................
2009-11-04 01:00:48 +00:00
Antoine Pitrou
97c81ef5b0
Merged revisions 76101 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r76101 | antoine.pitrou | 2009-11-04 01:50:26 +0100 (mer., 04 nov. 2009) | 3 lines
Make test_shutil clean up after itself
........
2009-11-04 00:57:15 +00:00
Georg Brandl
ab91fdef1f
Merged revisions 73715 via svnmerge from
...
svn+ssh://svn.python.org/python/branches/py3k
........
r73715 | benjamin.peterson | 2009-07-01 01:06:06 +0200 (Mi, 01 Jul 2009) | 1 line
convert old fail* assertions to assert*
........
2009-08-13 08:51:18 +00:00
Benjamin Peterson
c9c0f201fe
convert old fail* assertions to assert*
2009-06-30 23:06:06 +00:00
Benjamin Peterson
25c95f1298
Merged revisions 70768,71657,71721,71729,71794,71976,72036-72037,72079,72085,72131-72134,72191,72197-72198,72219,72221,72225,72303,72434,72467,72476 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r70768 | andrew.kuchling | 2009-03-30 17:29:15 -0500 (Mon, 30 Mar 2009) | 1 line
Typo fixes
........
r71657 | vinay.sajip | 2009-04-16 14:07:37 -0500 (Thu, 16 Apr 2009) | 1 line
Issue #5768 : Change to Unicode output logic and test case for same.
........
r71721 | benjamin.peterson | 2009-04-18 14:26:19 -0500 (Sat, 18 Apr 2009) | 1 line
fix a few nits in unittest.py #5771
........
r71729 | benjamin.peterson | 2009-04-18 16:03:10 -0500 (Sat, 18 Apr 2009) | 1 line
move test to a more appropiate one
........
r71794 | vinay.sajip | 2009-04-22 07:10:47 -0500 (Wed, 22 Apr 2009) | 2 lines
Issue #5170 : Fixed regression caused when fixing #5768 .
........
r71976 | mark.dickinson | 2009-04-26 14:54:55 -0500 (Sun, 26 Apr 2009) | 2 lines
Fix typo in function name
........
r72036 | georg.brandl | 2009-04-27 12:04:23 -0500 (Mon, 27 Apr 2009) | 1 line
#5848 : small unittest doc patch.
........
r72037 | georg.brandl | 2009-04-27 12:09:53 -0500 (Mon, 27 Apr 2009) | 1 line
#5840 : dont claim we dont support TLS.
........
r72079 | r.david.murray | 2009-04-28 14:02:55 -0500 (Tue, 28 Apr 2009) | 2 lines
Remove spurious 'u'.
........
r72085 | georg.brandl | 2009-04-28 16:48:35 -0500 (Tue, 28 Apr 2009) | 1 line
Make the doctests in the docs pass, except for those in the turtle module.
........
r72131 | benjamin.peterson | 2009-04-29 17:43:35 -0500 (Wed, 29 Apr 2009) | 1 line
fix test_shutil on ZFS #5676
........
r72132 | georg.brandl | 2009-04-29 17:44:07 -0500 (Wed, 29 Apr 2009) | 1 line
#5878 : fix repr of re object.
........
r72133 | benjamin.peterson | 2009-04-29 17:44:15 -0500 (Wed, 29 Apr 2009) | 1 line
make sure mode is removable while cleaning up test droppings
........
r72134 | benjamin.peterson | 2009-04-29 19:06:33 -0500 (Wed, 29 Apr 2009) | 1 line
make sure to close file
........
r72191 | michael.foord | 2009-05-02 06:43:06 -0500 (Sat, 02 May 2009) | 9 lines
Adds an exit parameter to unittest.main(). If False main no longer
calls sys.exit.
Closes issue 3379.
Michael Foord
........
r72197 | benjamin.peterson | 2009-05-02 11:24:37 -0500 (Sat, 02 May 2009) | 1 line
don't let sys.argv be used in the tests
........
r72198 | andrew.kuchling | 2009-05-02 12:12:15 -0500 (Sat, 02 May 2009) | 1 line
Add items
........
r72219 | michael.foord | 2009-05-02 15:15:05 -0500 (Sat, 02 May 2009) | 8 lines
Add addCleanup and doCleanups to unittest.TestCase.
Closes issue 5679.
Michael Foord
........
r72221 | benjamin.peterson | 2009-05-02 15:26:53 -0500 (Sat, 02 May 2009) | 1 line
add myself
........
r72225 | michael.foord | 2009-05-02 17:43:34 -0500 (Sat, 02 May 2009) | 1 line
........
r72303 | benjamin.peterson | 2009-05-04 19:55:24 -0500 (Mon, 04 May 2009) | 1 line
using sys._getframe(x), where x > 0 doesnt' work on IronPython
........
r72434 | r.david.murray | 2009-05-07 13:09:58 -0500 (Thu, 07 May 2009) | 2 lines
Pre-opened test file needs to be opened in binary mode.
........
r72467 | georg.brandl | 2009-05-08 07:17:34 -0500 (Fri, 08 May 2009) | 1 line
Fix name.
........
r72476 | thomas.heller | 2009-05-08 15:09:40 -0500 (Fri, 08 May 2009) | 4 lines
Add a file that contains diffs between offical libffi files and the
files in this repository. Should make it easier to merge new libffi
versions.
........
2009-05-08 20:42:26 +00:00
Antoine Pitrou
7fff096298
Merged revisions 72178 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r72178 | antoine.pitrou | 2009-05-01 22:55:35 +0200 (ven., 01 mai 2009) | 4 lines
Issue #3002 : `shutil.copyfile()` and `shutil.copytree()` now raise an
error when a named pipe is encountered, rather than blocking infinitely.
........
2009-05-01 21:09:44 +00:00
Benjamin Peterson
247a9b87bd
Merged revisions 69415,69591,69593 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r69415 | benjamin.peterson | 2009-02-07 13:08:22 -0600 (Sat, 07 Feb 2009) | 1 line
make destinsrc private
........
r69591 | martin.v.loewis | 2009-02-13 14:26:16 -0600 (Fri, 13 Feb 2009) | 1 line
Update Tix build procedure.
........
r69593 | martin.v.loewis | 2009-02-13 14:51:48 -0600 (Fri, 13 Feb 2009) | 1 line
Add optional code signing after merging.
........
2009-02-20 04:09:19 +00:00