Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
74e4561a
Commit
74e4561a
authored
Jul 09, 2010
by
Brian Curtin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Re-flow several long lines from #1578269.
parent
c739569b
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
41 additions
and
22 deletions
+41
-22
Lib/test/symlink_support.py
Lib/test/symlink_support.py
+6
-3
Lib/test/test_os.py
Lib/test/test_os.py
+2
-1
Lib/test/test_platform.py
Lib/test/test_platform.py
+2
-2
Lib/test/test_sysconfig.py
Lib/test/test_sysconfig.py
+2
-2
Lib/test/test_tarfile.py
Lib/test/test_tarfile.py
+6
-3
Modules/posixmodule.c
Modules/posixmodule.c
+23
-11
No files found.
Lib/test/symlink_support.py
View file @
74e4561a
...
...
@@ -12,7 +12,8 @@ from ctypes import wintypes
GetCurrentProcess
=
ctypes
.
windll
.
kernel32
.
GetCurrentProcess
GetCurrentProcess
.
restype
=
wintypes
.
HANDLE
OpenProcessToken
=
ctypes
.
windll
.
advapi32
.
OpenProcessToken
OpenProcessToken
.
argtypes
=
(
wintypes
.
HANDLE
,
wintypes
.
DWORD
,
ctypes
.
POINTER
(
wintypes
.
HANDLE
))
OpenProcessToken
.
argtypes
=
(
wintypes
.
HANDLE
,
wintypes
.
DWORD
,
ctypes
.
POINTER
(
wintypes
.
HANDLE
))
OpenProcessToken
.
restype
=
wintypes
.
BOOL
class
LUID
(
ctypes
.
Structure
):
...
...
@@ -91,7 +92,8 @@ class TOKEN_PRIVILEGES(ctypes.Structure):
def
get_array
(
self
):
array_type
=
LUID_AND_ATTRIBUTES
*
self
.
count
privileges
=
ctypes
.
cast
(
self
.
privileges
,
ctypes
.
POINTER
(
array_type
)).
contents
privileges
=
ctypes
.
cast
(
self
.
privileges
,
ctypes
.
POINTER
(
array_type
)).
contents
return
privileges
def
__iter__
(
self
):
...
...
@@ -133,7 +135,8 @@ def get_process_token():
def
get_symlink_luid
():
"Get the LUID for the SeCreateSymbolicLinkPrivilege"
symlink_luid
=
LUID
()
res
=
LookupPrivilegeValue
(
None
,
"SeCreateSymbolicLinkPrivilege"
,
symlink_luid
)
res
=
LookupPrivilegeValue
(
None
,
"SeCreateSymbolicLinkPrivilege"
,
symlink_luid
)
if
not
res
>
0
:
raise
RuntimeError
(
"Couldn't lookup privilege value"
)
return
symlink_luid
...
...
Lib/test/test_os.py
View file @
74e4561a
...
...
@@ -1034,7 +1034,8 @@ class Win32KillTests(unittest.TestCase):
def
skipUnlessWindows6
(
test
):
if
hasattr
(
sys
,
'getwindowsversion'
)
and
sys
.
getwindowsversion
().
major
>=
6
:
if
(
hasattr
(
sys
,
'getwindowsversion'
)
and
sys
.
getwindowsversion
().
major
>=
6
):
return
test
return
unittest
.
skip
(
"Requires Windows Vista or later"
)(
test
)
...
...
Lib/test/test_platform.py
View file @
74e4561a
...
...
@@ -15,8 +15,8 @@ class PlatformTest(unittest.TestCase):
# On Windows, the EXE needs to know where pythonXY.dll is at so we have
# to add the directory to the path.
if
sys
.
platform
==
"win32"
:
os
.
environ
[
"Path"
]
=
"{};{}"
.
format
(
os
.
path
.
dirname
(
sys
.
executable
),
os
.
environ
[
"Path"
])
os
.
environ
[
"Path"
]
=
"{};{}"
.
format
(
os
.
path
.
dirname
(
sys
.
executable
),
os
.
environ
[
"Path"
])
def
get
(
python
):
cmd
=
[
python
,
'-c'
,
...
...
Lib/test/test_sysconfig.py
View file @
74e4561a
...
...
@@ -244,8 +244,8 @@ class TestSysConfig(unittest.TestCase):
# On Windows, the EXE needs to know where pythonXY.dll is at so we have
# to add the directory to the path.
if
sys
.
platform
==
"win32"
:
os
.
environ
[
"Path"
]
=
"{};{}"
.
format
(
os
.
path
.
dirname
(
sys
.
executable
),
os
.
environ
[
"Path"
])
os
.
environ
[
"Path"
]
=
"{};{}"
.
format
(
os
.
path
.
dirname
(
sys
.
executable
),
os
.
environ
[
"Path"
])
# Issue 7880
def
get
(
python
):
...
...
Lib/test/test_tarfile.py
View file @
74e4561a
...
...
@@ -291,7 +291,8 @@ class MiscReadTest(CommonReadTest):
self
.
assertTrue
(
self
.
tar
.
getmembers
()[
-
1
].
name
==
"misc/eof"
,
"could not find all members"
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
"link"
),
"Missing hardlink implementation"
)
@
unittest
.
skipUnless
(
hasattr
(
os
,
"link"
),
"Missing hardlink implementation"
)
@
support
.
skip_unless_symlink
def
test_extract_hardlink
(
self
):
# Test hardlink extraction (e.g. bug #857297).
...
...
@@ -1423,11 +1424,13 @@ class LinkEmulationTest(ReadTest):
def
test_hardlink_extraction2
(
self
):
self
.
_test_link_extraction
(
"./ustar/linktest2/lnktype"
)
@
unittest
.
skipIf
(
hasattr
(
os
,
"symlink"
),
"Skip emulation if symlink exists"
)
@
unittest
.
skipIf
(
hasattr
(
os
,
"symlink"
),
"Skip emulation if symlink exists"
)
def
test_symlink_extraction1
(
self
):
self
.
_test_link_extraction
(
"ustar/symtype"
)
@
unittest
.
skipIf
(
hasattr
(
os
,
"symlink"
),
"Skip emulation if symlink exists"
)
@
unittest
.
skipIf
(
hasattr
(
os
,
"symlink"
),
"Skip emulation if symlink exists"
)
def
test_symlink_extraction2
(
self
):
self
.
_test_link_extraction
(
"./ustar/linktest2/symtype"
)
...
...
Modules/posixmodule.c
View file @
74e4561a
...
...
@@ -1117,7 +1117,8 @@ check_GetFinalPathNameByHandle()
"GetFinalPathNameByHandleA"
);
*
(
FARPROC
*
)
&
Py_GetFinalPathNameByHandleW
=
GetProcAddress
(
hKernel32
,
"GetFinalPathNameByHandleW"
);
has_GetFinalPathNameByHandle
=
Py_GetFinalPathNameByHandleA
&&
Py_GetFinalPathNameByHandleW
;
has_GetFinalPathNameByHandle
=
Py_GetFinalPathNameByHandleA
&&
Py_GetFinalPathNameByHandleW
;
}
return
has_GetFinalPathNameByHandle
;
}
...
...
@@ -1310,9 +1311,12 @@ win32_fstat(int file_number, struct win32_stat *result)
/* similar to stat() */
result
->
st_mode
=
attributes_to_mode
(
info
.
dwFileAttributes
);
result
->
st_size
=
(((
__int64
)
info
.
nFileSizeHigh
)
<<
32
)
+
info
.
nFileSizeLow
;
FILE_TIME_to_time_t_nsec
(
&
info
.
ftCreationTime
,
&
result
->
st_ctime
,
&
result
->
st_ctime_nsec
);
FILE_TIME_to_time_t_nsec
(
&
info
.
ftLastWriteTime
,
&
result
->
st_mtime
,
&
result
->
st_mtime_nsec
);
FILE_TIME_to_time_t_nsec
(
&
info
.
ftLastAccessTime
,
&
result
->
st_atime
,
&
result
->
st_atime_nsec
);
FILE_TIME_to_time_t_nsec
(
&
info
.
ftCreationTime
,
&
result
->
st_ctime
,
&
result
->
st_ctime_nsec
);
FILE_TIME_to_time_t_nsec
(
&
info
.
ftLastWriteTime
,
&
result
->
st_mtime
,
&
result
->
st_mtime_nsec
);
FILE_TIME_to_time_t_nsec
(
&
info
.
ftLastAccessTime
,
&
result
->
st_atime
,
&
result
->
st_atime_nsec
);
/* specific to fstat() */
result
->
st_nlink
=
info
.
nNumberOfLinks
;
result
->
st_ino
=
(((
__int64
)
info
.
nFileIndexHigh
)
<<
32
)
+
info
.
nFileIndexLow
;
...
...
@@ -2691,7 +2695,8 @@ posix__getfinalpathname(PyObject *self, PyObject *args)
if
(
hFile
==
INVALID_HANDLE_VALUE
)
{
return
win32_error_unicode
(
"GetFinalPathNamyByHandle"
,
path
);
return
PyErr_Format
(
PyExc_RuntimeError
,
"Could not get a handle to file."
);
return
PyErr_Format
(
PyExc_RuntimeError
,
"Could not get a handle to file."
);
}
/* We have a good handle to the target, use it to determine the
...
...
@@ -3005,7 +3010,8 @@ static PyObject *
posix_unlink
(
PyObject
*
self
,
PyObject
*
args
)
{
#ifdef MS_WINDOWS
return
win32_1str
(
args
,
"remove"
,
"y:remove"
,
DeleteFileA
,
"U:remove"
,
Py_DeleteFileW
);
return
win32_1str
(
args
,
"remove"
,
"y:remove"
,
DeleteFileA
,
"U:remove"
,
Py_DeleteFileW
);
#else
return
posix_1str
(
args
,
"O&:remove"
,
unlink
);
#endif
...
...
@@ -4959,7 +4965,8 @@ typedef struct _REPARSE_DATA_BUFFER {
};
}
REPARSE_DATA_BUFFER
,
*
PREPARSE_DATA_BUFFER
;
#define REPARSE_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_DATA_BUFFER, GenericReparseBuffer)
#define REPARSE_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_DATA_BUFFER,\
GenericReparseBuffer)
#define MAXIMUM_REPARSE_DATA_BUFFER_SIZE ( 16 * 1024 )
...
...
@@ -5023,8 +5030,11 @@ win_readlink(PyObject *self, PyObject *args)
"not a symbolic link"
);
return
NULL
;
}
print_name
=
rdb
->
SymbolicLinkReparseBuffer
.
PathBuffer
+
rdb
->
SymbolicLinkReparseBuffer
.
PrintNameOffset
;
result
=
PyUnicode_FromWideChar
(
print_name
,
rdb
->
SymbolicLinkReparseBuffer
.
PrintNameLength
/
2
);
print_name
=
rdb
->
SymbolicLinkReparseBuffer
.
PathBuffer
+
rdb
->
SymbolicLinkReparseBuffer
.
PrintNameOffset
;
result
=
PyUnicode_FromWideChar
(
print_name
,
rdb
->
SymbolicLinkReparseBuffer
.
PrintNameLength
/
2
);
return
result
;
}
...
...
@@ -5043,7 +5053,8 @@ check_CreateSymbolicLinkW()
if
(
has_CreateSymbolicLinkW
)
return
has_CreateSymbolicLinkW
;
hKernel32
=
GetModuleHandle
(
"KERNEL32"
);
*
(
FARPROC
*
)
&
Py_CreateSymbolicLinkW
=
GetProcAddress
(
hKernel32
,
"CreateSymbolicLinkW"
);
*
(
FARPROC
*
)
&
Py_CreateSymbolicLinkW
=
GetProcAddress
(
hKernel32
,
"CreateSymbolicLinkW"
);
if
(
Py_CreateSymbolicLinkW
)
has_CreateSymbolicLinkW
=
1
;
return
has_CreateSymbolicLinkW
;
...
...
@@ -7586,7 +7597,8 @@ static PyMethodDef posix_methods[] = {
{
"symlink"
,
posix_symlink
,
METH_VARARGS
,
posix_symlink__doc__
},
#endif
/* HAVE_SYMLINK */
#if !defined(HAVE_SYMLINK) && defined(MS_WINDOWS)
{
"symlink"
,
(
PyCFunction
)
win_symlink
,
METH_VARARGS
|
METH_KEYWORDS
,
win_symlink__doc__
},
{
"symlink"
,
(
PyCFunction
)
win_symlink
,
METH_VARARGS
|
METH_KEYWORDS
,
win_symlink__doc__
},
#endif
/* !defined(HAVE_SYMLINK) && defined(MS_WINDOWS) */
#ifdef HAVE_SYSTEM
{
"system"
,
posix_system
,
METH_VARARGS
,
posix_system__doc__
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment