Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
setuptools
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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jérome Perrin
setuptools
Commits
08e35061
Commit
08e35061
authored
Nov 03, 2011
by
Éric Araujo
Browse files
Options
Browse Files
Download
Plain Diff
Branch merge
parents
4d25e1b7
21fe162a
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
126 additions
and
85 deletions
+126
-85
command/build_py.py
command/build_py.py
+6
-3
command/install_lib.py
command/install_lib.py
+4
-2
tests/test_bdist_dumb.py
tests/test_bdist_dumb.py
+17
-6
tests/test_build_py.py
tests/test_build_py.py
+46
-26
tests/test_install.py
tests/test_install.py
+19
-22
tests/test_install_lib.py
tests/test_install_lib.py
+30
-22
tests/test_sdist.py
tests/test_sdist.py
+4
-4
No files found.
command/build_py.py
View file @
08e35061
...
@@ -2,8 +2,9 @@
...
@@ -2,8 +2,9 @@
Implements the Distutils 'build_py' command."""
Implements the Distutils 'build_py' command."""
import
sys
,
os
import
os
import
imp
import
imp
import
sys
from
glob
import
glob
from
glob
import
glob
from
distutils.core
import
Command
from
distutils.core
import
Command
...
@@ -311,9 +312,11 @@ class build_py (Command):
...
@@ -311,9 +312,11 @@ class build_py (Command):
outputs
.
append
(
filename
)
outputs
.
append
(
filename
)
if
include_bytecode
:
if
include_bytecode
:
if
self
.
compile
:
if
self
.
compile
:
outputs
.
append
(
imp
.
cache_from_source
(
filename
,
True
))
outputs
.
append
(
imp
.
cache_from_source
(
filename
,
debug_override
=
True
))
if
self
.
optimize
>
0
:
if
self
.
optimize
>
0
:
outputs
.
append
(
imp
.
cache_from_source
(
filename
,
False
))
outputs
.
append
(
imp
.
cache_from_source
(
filename
,
debug_override
=
False
))
outputs
+=
[
outputs
+=
[
os
.
path
.
join
(
build_dir
,
filename
)
os
.
path
.
join
(
build_dir
,
filename
)
...
...
command/install_lib.py
View file @
08e35061
...
@@ -165,9 +165,11 @@ class install_lib(Command):
...
@@ -165,9 +165,11 @@ class install_lib(Command):
if
ext
!=
PYTHON_SOURCE_EXTENSION
:
if
ext
!=
PYTHON_SOURCE_EXTENSION
:
continue
continue
if
self
.
compile
:
if
self
.
compile
:
bytecode_files
.
append
(
imp
.
cache_from_source
(
py_file
,
True
))
bytecode_files
.
append
(
imp
.
cache_from_source
(
py_file
,
debug_override
=
True
))
if
self
.
optimize
>
0
:
if
self
.
optimize
>
0
:
bytecode_files
.
append
(
imp
.
cache_from_source
(
py_file
,
False
))
bytecode_files
.
append
(
imp
.
cache_from_source
(
py_file
,
debug_override
=
False
))
return
bytecode_files
return
bytecode_files
...
...
tests/test_bdist_dumb.py
View file @
08e35061
"""Tests for distutils.command.bdist_dumb."""
"""Tests for distutils.command.bdist_dumb."""
import
unittest
import
sys
import
os
import
os
import
imp
import
sys
import
zipfile
import
unittest
from
test.support
import
run_unittest
from
test.support
import
run_unittest
from
distutils.core
import
Distribution
from
distutils.core
import
Distribution
...
@@ -72,15 +74,24 @@ class BuildDumbTestCase(support.TempdirManager,
...
@@ -72,15 +74,24 @@ class BuildDumbTestCase(support.TempdirManager,
# see what we have
# see what we have
dist_created
=
os
.
listdir
(
os
.
path
.
join
(
pkg_dir
,
'dist'
))
dist_created
=
os
.
listdir
(
os
.
path
.
join
(
pkg_dir
,
'dist'
))
base
=
"%s.%s"
%
(
dist
.
get_fullname
(),
cmd
.
plat_name
)
base
=
"%s.%s
.zip
"
%
(
dist
.
get_fullname
(),
cmd
.
plat_name
)
if
os
.
name
==
'os2'
:
if
os
.
name
==
'os2'
:
base
=
base
.
replace
(
':'
,
'-'
)
base
=
base
.
replace
(
':'
,
'-'
)
wanted
=
[
'%s.zip'
%
base
]
self
.
assertEqual
(
dist_created
,
[
base
])
self
.
assertEqual
(
dist_created
,
wanted
)
# now let's check what we have in the zip file
# now let's check what we have in the zip file
# XXX to be done
fp
=
zipfile
.
ZipFile
(
os
.
path
.
join
(
'dist'
,
base
))
try
:
contents
=
fp
.
namelist
()
finally
:
fp
.
close
()
contents
=
sorted
(
os
.
path
.
basename
(
fn
)
for
fn
in
contents
)
wanted
=
[
'foo-0.1-py%s.%s.egg-info'
%
sys
.
version_info
[:
2
],
'foo.%s.pyc'
%
imp
.
get_tag
(),
'foo.py'
]
self
.
assertEqual
(
contents
,
sorted
(
wanted
))
def
test_suite
():
def
test_suite
():
return
unittest
.
makeSuite
(
BuildDumbTestCase
)
return
unittest
.
makeSuite
(
BuildDumbTestCase
)
...
...
tests/test_build_py.py
View file @
08e35061
...
@@ -2,7 +2,6 @@
...
@@ -2,7 +2,6 @@
import
os
import
os
import
sys
import
sys
import
io
import
imp
import
imp
import
unittest
import
unittest
...
@@ -54,7 +53,6 @@ class BuildPyTestCase(support.TempdirManager,
...
@@ -54,7 +53,6 @@ class BuildPyTestCase(support.TempdirManager,
# This makes sure the list of outputs includes byte-compiled
# This makes sure the list of outputs includes byte-compiled
# files for Python modules but not for package data files
# files for Python modules but not for package data files
# (there shouldn't *be* byte-code files for those!).
# (there shouldn't *be* byte-code files for those!).
#
self
.
assertEqual
(
len
(
cmd
.
get_outputs
()),
3
)
self
.
assertEqual
(
len
(
cmd
.
get_outputs
()),
3
)
pkgdest
=
os
.
path
.
join
(
destination
,
"pkg"
)
pkgdest
=
os
.
path
.
join
(
destination
,
"pkg"
)
files
=
os
.
listdir
(
pkgdest
)
files
=
os
.
listdir
(
pkgdest
)
...
@@ -64,15 +62,11 @@ class BuildPyTestCase(support.TempdirManager,
...
@@ -64,15 +62,11 @@ class BuildPyTestCase(support.TempdirManager,
if
sys
.
dont_write_bytecode
:
if
sys
.
dont_write_bytecode
:
self
.
assertFalse
(
os
.
path
.
exists
(
pycache_dir
))
self
.
assertFalse
(
os
.
path
.
exists
(
pycache_dir
))
else
:
else
:
# XXX even with -O, distutils writes pyc, not pyo; bug?
pyc_files
=
os
.
listdir
(
pycache_dir
)
pyc_files
=
os
.
listdir
(
pycache_dir
)
self
.
assertIn
(
"__init__.%s.pyc"
%
imp
.
get_tag
(),
pyc_files
)
self
.
assertIn
(
"__init__.%s.pyc"
%
imp
.
get_tag
(),
pyc_files
)
def
test_empty_package_dir
(
self
):
def
test_empty_package_dir
(
self
):
# See SF 1668596/1720897.
# See bugs #1668596/#1720897
cwd
=
os
.
getcwd
()
# create the distribution files.
sources
=
self
.
mkdtemp
()
sources
=
self
.
mkdtemp
()
open
(
os
.
path
.
join
(
sources
,
"__init__.py"
),
"w"
).
close
()
open
(
os
.
path
.
join
(
sources
,
"__init__.py"
),
"w"
).
close
()
...
@@ -81,10 +75,6 @@ class BuildPyTestCase(support.TempdirManager,
...
@@ -81,10 +75,6 @@ class BuildPyTestCase(support.TempdirManager,
open
(
os
.
path
.
join
(
testdir
,
"testfile"
),
"w"
).
close
()
open
(
os
.
path
.
join
(
testdir
,
"testfile"
),
"w"
).
close
()
os
.
chdir
(
sources
)
os
.
chdir
(
sources
)
old_stdout
=
sys
.
stdout
sys
.
stdout
=
io
.
StringIO
()
try
:
dist
=
Distribution
({
"packages"
:
[
"pkg"
],
dist
=
Distribution
({
"packages"
:
[
"pkg"
],
"package_dir"
:
{
"pkg"
:
""
},
"package_dir"
:
{
"pkg"
:
""
},
"package_data"
:
{
"pkg"
:
[
"doc/*"
]}})
"package_data"
:
{
"pkg"
:
[
"doc/*"
]}})
...
@@ -97,14 +87,43 @@ class BuildPyTestCase(support.TempdirManager,
...
@@ -97,14 +87,43 @@ class BuildPyTestCase(support.TempdirManager,
dist
.
run_commands
()
dist
.
run_commands
()
except
DistutilsFileError
:
except
DistutilsFileError
:
self
.
fail
(
"failed package_data test when package_dir is ''"
)
self
.
fail
(
"failed package_data test when package_dir is ''"
)
finally
:
# Restore state.
@
unittest
.
skipIf
(
sys
.
dont_write_bytecode
,
'byte-compile disabled'
)
os
.
chdir
(
cwd
)
def
test_byte_compile
(
self
):
sys
.
stdout
=
old_stdout
project_dir
,
dist
=
self
.
create_dist
(
py_modules
=
[
'boiledeggs'
])
os
.
chdir
(
project_dir
)
self
.
write_file
(
'boiledeggs.py'
,
'import antigravity'
)
cmd
=
build_py
(
dist
)
cmd
.
compile
=
1
cmd
.
build_lib
=
'here'
cmd
.
finalize_options
()
cmd
.
run
()
found
=
os
.
listdir
(
cmd
.
build_lib
)
self
.
assertEqual
(
sorted
(
found
),
[
'__pycache__'
,
'boiledeggs.py'
])
found
=
os
.
listdir
(
os
.
path
.
join
(
cmd
.
build_lib
,
'__pycache__'
))
self
.
assertEqual
(
found
,
[
'boiledeggs.%s.pyc'
%
imp
.
get_tag
()])
@
unittest
.
skipIf
(
sys
.
dont_write_bytecode
,
'byte-compile disabled'
)
def
test_byte_compile_optimized
(
self
):
project_dir
,
dist
=
self
.
create_dist
(
py_modules
=
[
'boiledeggs'
])
os
.
chdir
(
project_dir
)
self
.
write_file
(
'boiledeggs.py'
,
'import antigravity'
)
cmd
=
build_py
(
dist
)
cmd
.
compile
=
0
cmd
.
optimize
=
1
cmd
.
build_lib
=
'here'
cmd
.
finalize_options
()
cmd
.
run
()
found
=
os
.
listdir
(
cmd
.
build_lib
)
self
.
assertEqual
(
sorted
(
found
),
[
'__pycache__'
,
'boiledeggs.py'
])
found
=
os
.
listdir
(
os
.
path
.
join
(
cmd
.
build_lib
,
'__pycache__'
))
self
.
assertEqual
(
sorted
(
found
),
[
'boiledeggs.%s.pyo'
%
imp
.
get_tag
()])
def
test_dont_write_bytecode
(
self
):
def
test_dont_write_bytecode
(
self
):
# makes sure byte_compile is not used
# makes sure byte_compile is not used
pkg_dir
,
dist
=
self
.
create_dist
()
dist
=
self
.
create_dist
()[
1
]
cmd
=
build_py
(
dist
)
cmd
=
build_py
(
dist
)
cmd
.
compile
=
1
cmd
.
compile
=
1
cmd
.
optimize
=
1
cmd
.
optimize
=
1
...
@@ -118,6 +137,7 @@ class BuildPyTestCase(support.TempdirManager,
...
@@ -118,6 +137,7 @@ class BuildPyTestCase(support.TempdirManager,
self
.
assertIn
(
'byte-compiling is disabled'
,
self
.
logs
[
0
][
1
])
self
.
assertIn
(
'byte-compiling is disabled'
,
self
.
logs
[
0
][
1
])
def
test_suite
():
def
test_suite
():
return
unittest
.
makeSuite
(
BuildPyTestCase
)
return
unittest
.
makeSuite
(
BuildPyTestCase
)
...
...
tests/test_install.py
View file @
08e35061
"""Tests for distutils.command.install."""
"""Tests for distutils.command.install."""
import
os
import
os
import
imp
import
sys
import
sys
import
unittest
import
unittest
import
site
import
site
...
@@ -67,10 +68,7 @@ class InstallTestCase(support.TempdirManager,
...
@@ -67,10 +68,7 @@ class InstallTestCase(support.TempdirManager,
check_path
(
cmd
.
install_data
,
destination
)
check_path
(
cmd
.
install_data
,
destination
)
def
test_user_site
(
self
):
def
test_user_site
(
self
):
# site.USER_SITE was introduced in 2.6
# test install with --user
if
sys
.
version
<
'2.6'
:
return
# preparing the environment for the test
# preparing the environment for the test
self
.
old_user_base
=
site
.
USER_BASE
self
.
old_user_base
=
site
.
USER_BASE
self
.
old_user_site
=
site
.
USER_SITE
self
.
old_user_site
=
site
.
USER_SITE
...
@@ -87,19 +85,17 @@ class InstallTestCase(support.TempdirManager,
...
@@ -87,19 +85,17 @@ class InstallTestCase(support.TempdirManager,
self
.
old_expand
=
os
.
path
.
expanduser
self
.
old_expand
=
os
.
path
.
expanduser
os
.
path
.
expanduser
=
_expanduser
os
.
path
.
expanduser
=
_expanduser
try
:
def
cleanup
():
# this is the actual test
self
.
_test_user_site
()
finally
:
site
.
USER_BASE
=
self
.
old_user_base
site
.
USER_BASE
=
self
.
old_user_base
site
.
USER_SITE
=
self
.
old_user_site
site
.
USER_SITE
=
self
.
old_user_site
install_module
.
USER_BASE
=
self
.
old_user_base
install_module
.
USER_BASE
=
self
.
old_user_base
install_module
.
USER_SITE
=
self
.
old_user_site
install_module
.
USER_SITE
=
self
.
old_user_site
os
.
path
.
expanduser
=
self
.
old_expand
os
.
path
.
expanduser
=
self
.
old_expand
def
_test_user_site
(
self
):
self
.
addCleanup
(
cleanup
)
for
key
in
(
'nt_user'
,
'unix_user'
,
'os2_home'
):
for
key
in
(
'nt_user'
,
'unix_user'
,
'os2_home'
):
self
.
assert
True
(
key
in
INSTALL_SCHEMES
)
self
.
assert
In
(
key
,
INSTALL_SCHEMES
)
dist
=
Distribution
({
'name'
:
'xx'
})
dist
=
Distribution
({
'name'
:
'xx'
})
cmd
=
install
(
dist
)
cmd
=
install
(
dist
)
...
@@ -107,14 +103,14 @@ class InstallTestCase(support.TempdirManager,
...
@@ -107,14 +103,14 @@ class InstallTestCase(support.TempdirManager,
# making sure the user option is there
# making sure the user option is there
options
=
[
name
for
name
,
short
,
lable
in
options
=
[
name
for
name
,
short
,
lable
in
cmd
.
user_options
]
cmd
.
user_options
]
self
.
assert
True
(
'user'
in
options
)
self
.
assert
In
(
'user'
,
options
)
# setting a value
# setting a value
cmd
.
user
=
1
cmd
.
user
=
1
# user base and site shouldn't be created yet
# user base and site shouldn't be created yet
self
.
assert
True
(
not
os
.
path
.
exists
(
self
.
user_base
))
self
.
assert
False
(
os
.
path
.
exists
(
self
.
user_base
))
self
.
assert
True
(
not
os
.
path
.
exists
(
self
.
user_site
))
self
.
assert
False
(
os
.
path
.
exists
(
self
.
user_site
))
# let's run finalize
# let's run finalize
cmd
.
ensure_finalized
()
cmd
.
ensure_finalized
()
...
@@ -123,8 +119,8 @@ class InstallTestCase(support.TempdirManager,
...
@@ -123,8 +119,8 @@ class InstallTestCase(support.TempdirManager,
self
.
assertTrue
(
os
.
path
.
exists
(
self
.
user_base
))
self
.
assertTrue
(
os
.
path
.
exists
(
self
.
user_base
))
self
.
assertTrue
(
os
.
path
.
exists
(
self
.
user_site
))
self
.
assertTrue
(
os
.
path
.
exists
(
self
.
user_site
))
self
.
assert
True
(
'userbase'
in
cmd
.
config_vars
)
self
.
assert
In
(
'userbase'
,
cmd
.
config_vars
)
self
.
assert
True
(
'usersite'
in
cmd
.
config_vars
)
self
.
assert
In
(
'usersite'
,
cmd
.
config_vars
)
def
test_handle_extra_path
(
self
):
def
test_handle_extra_path
(
self
):
dist
=
Distribution
({
'name'
:
'xx'
,
'extra_path'
:
'path,dirs'
})
dist
=
Distribution
({
'name'
:
'xx'
,
'extra_path'
:
'path,dirs'
})
...
@@ -177,15 +173,16 @@ class InstallTestCase(support.TempdirManager,
...
@@ -177,15 +173,16 @@ class InstallTestCase(support.TempdirManager,
def
test_record
(
self
):
def
test_record
(
self
):
install_dir
=
self
.
mkdtemp
()
install_dir
=
self
.
mkdtemp
()
project_dir
,
dist
=
self
.
create_dist
(
scripts
=
[
'hello'
])
project_dir
,
dist
=
self
.
create_dist
(
py_modules
=
[
'hello'
],
self
.
addCleanup
(
os
.
chdir
,
os
.
getcwd
()
)
scripts
=
[
'sayhi'
]
)
os
.
chdir
(
project_dir
)
os
.
chdir
(
project_dir
)
self
.
write_file
(
'hello'
,
"print('o hai')"
)
self
.
write_file
(
'hello.py'
,
"def main(): print('o hai')"
)
self
.
write_file
(
'sayhi'
,
'from hello import main; main()'
)
cmd
=
install
(
dist
)
cmd
=
install
(
dist
)
dist
.
command_obj
[
'install'
]
=
cmd
dist
.
command_obj
[
'install'
]
=
cmd
cmd
.
root
=
install_dir
cmd
.
root
=
install_dir
cmd
.
record
=
os
.
path
.
join
(
project_dir
,
'
RECORD
'
)
cmd
.
record
=
os
.
path
.
join
(
project_dir
,
'
filelist
'
)
cmd
.
ensure_finalized
()
cmd
.
ensure_finalized
()
cmd
.
run
()
cmd
.
run
()
...
@@ -196,7 +193,7 @@ class InstallTestCase(support.TempdirManager,
...
@@ -196,7 +193,7 @@ class InstallTestCase(support.TempdirManager,
f
.
close
()
f
.
close
()
found
=
[
os
.
path
.
basename
(
line
)
for
line
in
content
.
splitlines
()]
found
=
[
os
.
path
.
basename
(
line
)
for
line
in
content
.
splitlines
()]
expected
=
[
'hello'
,
expected
=
[
'hello
.py'
,
'hello.%s.pyc'
%
imp
.
get_tag
(),
'sayhi
'
,
'UNKNOWN-0.0.0-py%s.%s.egg-info'
%
sys
.
version_info
[:
2
]]
'UNKNOWN-0.0.0-py%s.%s.egg-info'
%
sys
.
version_info
[:
2
]]
self
.
assertEqual
(
found
,
expected
)
self
.
assertEqual
(
found
,
expected
)
...
@@ -204,7 +201,6 @@ class InstallTestCase(support.TempdirManager,
...
@@ -204,7 +201,6 @@ class InstallTestCase(support.TempdirManager,
install_dir
=
self
.
mkdtemp
()
install_dir
=
self
.
mkdtemp
()
project_dir
,
dist
=
self
.
create_dist
(
ext_modules
=
[
project_dir
,
dist
=
self
.
create_dist
(
ext_modules
=
[
Extension
(
'xx'
,
[
'xxmodule.c'
])])
Extension
(
'xx'
,
[
'xxmodule.c'
])])
self
.
addCleanup
(
os
.
chdir
,
os
.
getcwd
())
os
.
chdir
(
project_dir
)
os
.
chdir
(
project_dir
)
support
.
copy_xxmodule_c
(
project_dir
)
support
.
copy_xxmodule_c
(
project_dir
)
...
@@ -216,7 +212,7 @@ class InstallTestCase(support.TempdirManager,
...
@@ -216,7 +212,7 @@ class InstallTestCase(support.TempdirManager,
dist
.
command_obj
[
'install'
]
=
cmd
dist
.
command_obj
[
'install'
]
=
cmd
dist
.
command_obj
[
'build_ext'
]
=
buildextcmd
dist
.
command_obj
[
'build_ext'
]
=
buildextcmd
cmd
.
root
=
install_dir
cmd
.
root
=
install_dir
cmd
.
record
=
os
.
path
.
join
(
project_dir
,
'
RECORD
'
)
cmd
.
record
=
os
.
path
.
join
(
project_dir
,
'
filelist
'
)
cmd
.
ensure_finalized
()
cmd
.
ensure_finalized
()
cmd
.
run
()
cmd
.
run
()
...
@@ -242,6 +238,7 @@ class InstallTestCase(support.TempdirManager,
...
@@ -242,6 +238,7 @@ class InstallTestCase(support.TempdirManager,
install_module
.
DEBUG
=
False
install_module
.
DEBUG
=
False
self
.
assertTrue
(
len
(
self
.
logs
)
>
old_logs_len
)
self
.
assertTrue
(
len
(
self
.
logs
)
>
old_logs_len
)
def
test_suite
():
def
test_suite
():
return
unittest
.
makeSuite
(
InstallTestCase
)
return
unittest
.
makeSuite
(
InstallTestCase
)
...
...
tests/test_install_lib.py
View file @
08e35061
...
@@ -10,13 +10,14 @@ from distutils.tests import support
...
@@ -10,13 +10,14 @@ from distutils.tests import support
from
distutils.errors
import
DistutilsOptionError
from
distutils.errors
import
DistutilsOptionError
from
test.support
import
run_unittest
from
test.support
import
run_unittest
class
InstallLibTestCase
(
support
.
TempdirManager
,
class
InstallLibTestCase
(
support
.
TempdirManager
,
support
.
LoggingSilencer
,
support
.
LoggingSilencer
,
support
.
EnvironGuard
,
support
.
EnvironGuard
,
unittest
.
TestCase
):
unittest
.
TestCase
):
def
test_finalize_options
(
self
):
def
test_finalize_options
(
self
):
pkg_dir
,
dist
=
self
.
create_dist
()
dist
=
self
.
create_dist
()[
1
]
cmd
=
install_lib
(
dist
)
cmd
=
install_lib
(
dist
)
cmd
.
finalize_options
()
cmd
.
finalize_options
()
...
@@ -35,56 +36,62 @@ class InstallLibTestCase(support.TempdirManager,
...
@@ -35,56 +36,62 @@ class InstallLibTestCase(support.TempdirManager,
@
unittest
.
skipIf
(
sys
.
dont_write_bytecode
,
'byte-compile disabled'
)
@
unittest
.
skipIf
(
sys
.
dont_write_bytecode
,
'byte-compile disabled'
)
def
test_byte_compile
(
self
):
def
test_byte_compile
(
self
):
p
kg
_dir
,
dist
=
self
.
create_dist
()
p
roject
_dir
,
dist
=
self
.
create_dist
()
os
.
chdir
(
p
kg
_dir
)
os
.
chdir
(
p
roject
_dir
)
cmd
=
install_lib
(
dist
)
cmd
=
install_lib
(
dist
)
cmd
.
compile
=
cmd
.
optimize
=
1
cmd
.
compile
=
cmd
.
optimize
=
1
f
=
os
.
path
.
join
(
p
kg
_dir
,
'foo.py'
)
f
=
os
.
path
.
join
(
p
roject
_dir
,
'foo.py'
)
self
.
write_file
(
f
,
'# python file'
)
self
.
write_file
(
f
,
'# python file'
)
cmd
.
byte_compile
([
f
])
cmd
.
byte_compile
([
f
])
pyc_file
=
imp
.
cache_from_source
(
'foo.py'
)
pyc_file
=
imp
.
cache_from_source
(
'foo.py'
,
debug_override
=
True
)
pyo_file
=
imp
.
cache_from_source
(
'foo.py'
,
debug_override
=
False
)
pyo_file
=
imp
.
cache_from_source
(
'foo.py'
,
debug_override
=
False
)
self
.
assertTrue
(
os
.
path
.
exists
(
pyc_file
))
self
.
assertTrue
(
os
.
path
.
exists
(
pyc_file
))
self
.
assertTrue
(
os
.
path
.
exists
(
pyo_file
))
self
.
assertTrue
(
os
.
path
.
exists
(
pyo_file
))
def
test_get_outputs
(
self
):
def
test_get_outputs
(
self
):
pkg_dir
,
dist
=
self
.
create_dist
()
project_dir
,
dist
=
self
.
create_dist
()
os
.
chdir
(
project_dir
)
os
.
mkdir
(
'spam'
)
cmd
=
install_lib
(
dist
)
cmd
=
install_lib
(
dist
)
# setting up a dist environment
# setting up a dist environment
cmd
.
compile
=
cmd
.
optimize
=
1
cmd
.
compile
=
cmd
.
optimize
=
1
cmd
.
install_dir
=
pkg_dir
cmd
.
install_dir
=
self
.
mkdtemp
()
f
=
os
.
path
.
join
(
pkg_dir
,
'foo.py'
)
f
=
os
.
path
.
join
(
project_dir
,
'spam'
,
'__init__.py'
)
self
.
write_file
(
f
,
'# python file'
)
self
.
write_file
(
f
,
'# python package'
)
cmd
.
distribution
.
py_modules
=
[
pkg_dir
]
cmd
.
distribution
.
ext_modules
=
[
Extension
(
'foo'
,
[
'xxx'
])]
cmd
.
distribution
.
ext_modules
=
[
Extension
(
'foo'
,
[
'xxx'
])]
cmd
.
distribution
.
packages
=
[
pkg_dir
]
cmd
.
distribution
.
packages
=
[
'spam'
]
cmd
.
distribution
.
script_name
=
'setup.py'
cmd
.
distribution
.
script_name
=
'setup.py'
# get_output should return 4 elements
# get_outputs should return 4 elements: spam/__init__.py, .pyc and
self
.
assertTrue
(
len
(
cmd
.
get_outputs
())
>=
2
)
# .pyo, foo.import-tag-abiflags.so / foo.pyd
outputs
=
cmd
.
get_outputs
()
self
.
assertEqual
(
len
(
outputs
),
4
,
outputs
)
def
test_get_inputs
(
self
):
def
test_get_inputs
(
self
):
pkg_dir
,
dist
=
self
.
create_dist
()
project_dir
,
dist
=
self
.
create_dist
()
os
.
chdir
(
project_dir
)
os
.
mkdir
(
'spam'
)
cmd
=
install_lib
(
dist
)
cmd
=
install_lib
(
dist
)
# setting up a dist environment
# setting up a dist environment
cmd
.
compile
=
cmd
.
optimize
=
1
cmd
.
compile
=
cmd
.
optimize
=
1
cmd
.
install_dir
=
pkg_dir
cmd
.
install_dir
=
self
.
mkdtemp
()
f
=
os
.
path
.
join
(
pkg_dir
,
'foo.py'
)
f
=
os
.
path
.
join
(
project_dir
,
'spam'
,
'__init__.py'
)
self
.
write_file
(
f
,
'# python file'
)
self
.
write_file
(
f
,
'# python package'
)
cmd
.
distribution
.
py_modules
=
[
pkg_dir
]
cmd
.
distribution
.
ext_modules
=
[
Extension
(
'foo'
,
[
'xxx'
])]
cmd
.
distribution
.
ext_modules
=
[
Extension
(
'foo'
,
[
'xxx'
])]
cmd
.
distribution
.
packages
=
[
pkg_dir
]
cmd
.
distribution
.
packages
=
[
'spam'
]
cmd
.
distribution
.
script_name
=
'setup.py'
cmd
.
distribution
.
script_name
=
'setup.py'
# get_input should return 2 elements
# get_inputs should return 2 elements: spam/__init__.py and
self
.
assertEqual
(
len
(
cmd
.
get_inputs
()),
2
)
# foo.import-tag-abiflags.so / foo.pyd
inputs
=
cmd
.
get_inputs
()
self
.
assertEqual
(
len
(
inputs
),
2
,
inputs
)
def
test_dont_write_bytecode
(
self
):
def
test_dont_write_bytecode
(
self
):
# makes sure byte_compile is not used
# makes sure byte_compile is not used
pkg_dir
,
dist
=
self
.
create_dist
()
dist
=
self
.
create_dist
()[
1
]
cmd
=
install_lib
(
dist
)
cmd
=
install_lib
(
dist
)
cmd
.
compile
=
1
cmd
.
compile
=
1
cmd
.
optimize
=
1
cmd
.
optimize
=
1
...
@@ -98,6 +105,7 @@ class InstallLibTestCase(support.TempdirManager,
...
@@ -98,6 +105,7 @@ class InstallLibTestCase(support.TempdirManager,
self
.
assertTrue
(
'byte-compiling is disabled'
in
self
.
logs
[
0
][
1
])
self
.
assertTrue
(
'byte-compiling is disabled'
in
self
.
logs
[
0
][
1
])
def
test_suite
():
def
test_suite
():
return
unittest
.
makeSuite
(
InstallLibTestCase
)
return
unittest
.
makeSuite
(
InstallLibTestCase
)
...
...
tests/test_sdist.py
View file @
08e35061
...
@@ -288,7 +288,7 @@ class SDistTestCase(PyPIRCCommandTestCase):
...
@@ -288,7 +288,7 @@ class SDistTestCase(PyPIRCCommandTestCase):
# the following tests make sure there is a nice error message instead
# the following tests make sure there is a nice error message instead
# of a traceback when parsing an invalid manifest template
# of a traceback when parsing an invalid manifest template
def
_
test
_template
(
self
,
content
):
def
_
check
_template
(
self
,
content
):
dist
,
cmd
=
self
.
get_cmd
()
dist
,
cmd
=
self
.
get_cmd
()
os
.
chdir
(
self
.
tmp_dir
)
os
.
chdir
(
self
.
tmp_dir
)
self
.
write_file
(
'MANIFEST.in'
,
content
)
self
.
write_file
(
'MANIFEST.in'
,
content
)
...
@@ -299,17 +299,17 @@ class SDistTestCase(PyPIRCCommandTestCase):
...
@@ -299,17 +299,17 @@ class SDistTestCase(PyPIRCCommandTestCase):
self
.
assertEqual
(
len
(
warnings
),
1
)
self
.
assertEqual
(
len
(
warnings
),
1
)
def
test_invalid_template_unknown_command
(
self
):
def
test_invalid_template_unknown_command
(
self
):
self
.
_
test
_template
(
'taunt knights *'
)
self
.
_
check
_template
(
'taunt knights *'
)
def
test_invalid_template_wrong_arguments
(
self
):
def
test_invalid_template_wrong_arguments
(
self
):
# this manifest command takes one argument
# this manifest command takes one argument
self
.
_
test
_template
(
'prune'
)
self
.
_
check
_template
(
'prune'
)
@
unittest
.
skipIf
(
os
.
name
!=
'nt'
,
'test relevant for Windows only'
)
@
unittest
.
skipIf
(
os
.
name
!=
'nt'
,
'test relevant for Windows only'
)
def
test_invalid_template_wrong_path
(
self
):
def
test_invalid_template_wrong_path
(
self
):
# on Windows, trailing slashes are not allowed
# on Windows, trailing slashes are not allowed
# this used to crash instead of raising a warning: #8286
# this used to crash instead of raising a warning: #8286
self
.
_
test
_template
(
'include examples/'
)
self
.
_
check
_template
(
'include examples/'
)
@
unittest
.
skipUnless
(
ZLIB_SUPPORT
,
'Need zlib support to run'
)
@
unittest
.
skipUnless
(
ZLIB_SUPPORT
,
'Need zlib support to run'
)
def
test_get_file_list
(
self
):
def
test_get_file_list
(
self
):
...
...
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