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
56758354
Commit
56758354
authored
8 years ago
by
Xavier de Gaye
Browse files
Options
Browse Files
Download
Plain Diff
Issue 26931: Merge 3.6
parents
b7a45d44
dfc13e06
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
46 additions
and
25 deletions
+46
-25
Lib/distutils/tests/test_build_clib.py
Lib/distutils/tests/test_build_clib.py
+6
-14
Lib/distutils/tests/test_build_ext.py
Lib/distutils/tests/test_build_ext.py
+6
-0
Lib/distutils/tests/test_config_cmd.py
Lib/distutils/tests/test_config_cmd.py
+4
-1
Lib/distutils/tests/test_install.py
Lib/distutils/tests/test_install.py
+4
-0
Lib/distutils/tests/test_sysconfig.py
Lib/distutils/tests/test_sysconfig.py
+0
-9
Lib/test/support/__init__.py
Lib/test/support/__init__.py
+26
-1
No files found.
Lib/distutils/tests/test_build_clib.py
View file @
56758354
...
...
@@ -3,7 +3,7 @@ import unittest
import
os
import
sys
from
test.support
import
run_unittest
from
test.support
import
run_unittest
,
missing_compiler_executable
from
distutils.command.build_clib
import
build_clib
from
distutils.errors
import
DistutilsSetupError
...
...
@@ -116,19 +116,11 @@ class BuildCLibTestCase(support.TempdirManager,
cmd
.
build_temp
=
build_temp
cmd
.
build_clib
=
build_temp
# before we run the command, we want to make sure
# all commands are present on the system
# by creating a compiler and checking its executables
from
distutils.ccompiler
import
new_compiler
from
distutils.sysconfig
import
customize_compiler
compiler
=
new_compiler
()
customize_compiler
(
compiler
)
for
ccmd
in
compiler
.
executables
.
values
():
if
ccmd
is
None
:
continue
if
find_executable
(
ccmd
[
0
])
is
None
:
self
.
skipTest
(
'The %r command is not found'
%
ccmd
[
0
])
# Before we run the command, we want to make sure
# all commands are present on the system.
ccmd
=
missing_compiler_executable
()
if
ccmd
is
not
None
:
self
.
skipTest
(
'The %r command is not found'
%
ccmd
)
# this should work
cmd
.
run
()
...
...
This diff is collapsed.
Click to expand it.
Lib/distutils/tests/test_build_ext.py
View file @
56758354
...
...
@@ -41,6 +41,9 @@ class BuildExtTestCase(TempdirManager,
return
build_ext
(
*
args
,
**
kwargs
)
def
test_build_ext
(
self
):
cmd
=
support
.
missing_compiler_executable
()
if
cmd
is
not
None
:
self
.
skipTest
(
'The %r command is not found'
%
cmd
)
global
ALREADY_TESTED
copy_xxmodule_c
(
self
.
tmp_dir
)
xx_c
=
os
.
path
.
join
(
self
.
tmp_dir
,
'xxmodule.c'
)
...
...
@@ -295,6 +298,9 @@ class BuildExtTestCase(TempdirManager,
self
.
assertEqual
(
cmd
.
compiler
,
'unix'
)
def
test_get_outputs
(
self
):
cmd
=
support
.
missing_compiler_executable
()
if
cmd
is
not
None
:
self
.
skipTest
(
'The %r command is not found'
%
cmd
)
tmp_dir
=
self
.
mkdtemp
()
c_file
=
os
.
path
.
join
(
tmp_dir
,
'foo.c'
)
self
.
write_file
(
c_file
,
'void PyInit_foo(void) {}
\
n
'
)
...
...
This diff is collapsed.
Click to expand it.
Lib/distutils/tests/test_config_cmd.py
View file @
56758354
...
...
@@ -2,7 +2,7 @@
import
unittest
import
os
import
sys
from
test.support
import
run_unittest
from
test.support
import
run_unittest
,
missing_compiler_executable
from
distutils.command.config
import
dump_file
,
config
from
distutils.tests
import
support
...
...
@@ -39,6 +39,9 @@ class ConfigTestCase(support.LoggingSilencer,
@
unittest
.
skipIf
(
sys
.
platform
==
'win32'
,
"can't test on Windows"
)
def
test_search_cpp
(
self
):
cmd
=
missing_compiler_executable
([
'preprocessor'
])
if
cmd
is
not
None
:
self
.
skipTest
(
'The %r command is not found'
%
cmd
)
pkg_dir
,
dist
=
self
.
create_dist
()
cmd
=
config
(
dist
)
...
...
This diff is collapsed.
Click to expand it.
Lib/distutils/tests/test_install.py
View file @
56758354
...
...
@@ -17,6 +17,7 @@ from distutils.errors import DistutilsOptionError
from
distutils.extension
import
Extension
from
distutils.tests
import
support
from
test
import
support
as
test_support
def
_make_ext_name
(
modname
):
...
...
@@ -196,6 +197,9 @@ class InstallTestCase(support.TempdirManager,
self
.
assertEqual
(
found
,
expected
)
def
test_record_extensions
(
self
):
cmd
=
test_support
.
missing_compiler_executable
()
if
cmd
is
not
None
:
self
.
skipTest
(
'The %r command is not found'
%
cmd
)
install_dir
=
self
.
mkdtemp
()
project_dir
,
dist
=
self
.
create_dist
(
ext_modules
=
[
Extension
(
'xx'
,
[
'xxmodule.c'
])])
...
...
This diff is collapsed.
Click to expand it.
Lib/distutils/tests/test_sysconfig.py
View file @
56758354
...
...
@@ -39,15 +39,6 @@ class SysconfigTestCase(support.EnvironGuard, unittest.TestCase):
self
.
assertNotEqual
(
sysconfig
.
get_python_lib
(),
sysconfig
.
get_python_lib
(
prefix
=
TESTFN
))
def
test_get_python_inc
(
self
):
inc_dir
=
sysconfig
.
get_python_inc
()
# This is not much of a test. We make sure Python.h exists
# in the directory returned by get_python_inc() but we don't know
# it is the correct file.
self
.
assertTrue
(
os
.
path
.
isdir
(
inc_dir
),
inc_dir
)
python_h
=
os
.
path
.
join
(
inc_dir
,
"Python.h"
)
self
.
assertTrue
(
os
.
path
.
isfile
(
python_h
),
python_h
)
def
test_get_config_vars
(
self
):
cvars
=
sysconfig
.
get_config_vars
()
self
.
assertIsInstance
(
cvars
,
dict
)
...
...
This diff is collapsed.
Click to expand it.
Lib/test/support/__init__.py
View file @
56758354
...
...
@@ -105,7 +105,7 @@ __all__ = [
"check_warnings"
,
"check_no_resource_warning"
,
"EnvironmentVarGuard"
,
"run_with_locale"
,
"swap_item"
,
"swap_attr"
,
"Matcher"
,
"set_memlimit"
,
"SuppressCrashReport"
,
"sortdict"
,
"run_with_tz"
,
"PGO"
,
"run_with_tz"
,
"PGO"
,
"missing_compiler_executable"
,
]
class
Error
(
Exception
):
...
...
@@ -2491,3 +2491,28 @@ def check_free_after_iterating(test, iter, cls, args=()):
# The sequence should be deallocated just after the end of iterating
gc_collect
()
test
.
assertTrue
(
done
)
def
missing_compiler_executable
(
cmd_names
=
[]):
"""Check if the compiler components used to build the interpreter exist.
Check for the existence of the compiler executables whose names are listed
in 'cmd_names' or all the compiler executables when 'cmd_names' is empty
and return the first missing executable or None when none is found
missing.
"""
from
distutils
import
ccompiler
,
sysconfig
,
spawn
compiler
=
ccompiler
.
new_compiler
()
sysconfig
.
customize_compiler
(
compiler
)
for
name
in
compiler
.
executables
:
if
cmd_names
and
name
not
in
cmd_names
:
continue
cmd
=
getattr
(
compiler
,
name
)
if
cmd_names
:
assert
cmd
is
not
None
,
\
"the '%s' executable is not configured"
%
name
elif
cmd
is
None
:
continue
if
spawn
.
find_executable
(
cmd
[
0
])
is
None
:
return
cmd
[
0
]
This diff is collapsed.
Click to expand it.
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