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
7943b3b7
Commit
7943b3b7
authored
Oct 03, 2011
by
Charles-François Natali
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Introduce support.requires_freebsd_version decorator.
parent
8af37342
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
28 additions
and
12 deletions
+28
-12
Lib/test/support.py
Lib/test/support.py
+28
-12
No files found.
Lib/test/support.py
View file @
7943b3b7
...
...
@@ -44,8 +44,8 @@ __all__ = [
"Error"
,
"TestFailed"
,
"ResourceDenied"
,
"import_module"
,
"verbose"
,
"use_resources"
,
"max_memuse"
,
"record_original_stdout"
,
"get_original_stdout"
,
"unload"
,
"unlink"
,
"rmtree"
,
"forget"
,
"is_resource_enabled"
,
"requires"
,
"requires_
linux
_version"
,
"requires_mac_ver"
,
"find_unused_port"
,
"bind_port"
,
"is_resource_enabled"
,
"requires"
,
"requires_
freebsd
_version"
,
"requires_
linux_version"
,
"requires_
mac_ver"
,
"find_unused_port"
,
"bind_port"
,
"IPV6_ENABLED"
,
"is_jython"
,
"TESTFN"
,
"HOST"
,
"SAVEDCWD"
,
"temp_cwd"
,
"findfile"
,
"create_empty_file"
,
"sortdict"
,
"check_syntax_error"
,
"open_urlresource"
,
"check_warnings"
,
"CleanImport"
,
"EnvironmentVarGuard"
,
"TransientResource"
,
...
...
@@ -312,17 +312,17 @@ def requires(resource, msg=None):
msg
=
"Use of the %r resource not enabled"
%
resource
raise
ResourceDenied
(
msg
)
def
requires_linux_version
(
*
min_version
):
"""Decorator raising SkipTest if the OS is
Linux and the kernel version i
s
less than min_version
.
def
_requires_unix_version
(
sysname
,
min_version
):
"""Decorator raising SkipTest if the OS is
`sysname` and the version is les
s
than `min_version`
.
For example, @
requires_linux_version(2, 6, 35) raises SkipTest if the Linux
kernel version is less than 2.6.35
.
For example, @
_requires_unix_version('FreeBSD', (7, 2)) raises SkipTest if
the FreeBSD version is less than 7.2
.
"""
def
decorator
(
func
):
@
functools
.
wraps
(
func
)
def
wrapper
(
*
args
,
**
kw
):
if
sys
.
platform
==
'linux'
:
if
platform
.
system
()
==
sysname
:
version_txt
=
platform
.
release
().
split
(
'-'
,
1
)[
0
]
try
:
version
=
tuple
(
map
(
int
,
version_txt
.
split
(
'.'
)))
...
...
@@ -332,13 +332,29 @@ def requires_linux_version(*min_version):
if
version
<
min_version
:
min_version_txt
=
'.'
.
join
(
map
(
str
,
min_version
))
raise
unittest
.
SkipTest
(
"Linux kernel %s or higher required, not %s"
%
(
min_version_txt
,
version_txt
))
return
func
(
*
args
,
**
kw
)
wrapper
.
min_version
=
min_version
"%s version %s or higher required, not %s"
%
(
sysname
,
min_version_txt
,
version_txt
))
return
wrapper
return
decorator
def
requires_freebsd_version
(
*
min_version
):
"""Decorator raising SkipTest if the OS is FreeBSD and the FreeBSD version is
less than `min_version`.
For example, @requires_freebsd_version(7, 2) raises SkipTest if the FreeBSD
version is less than 7.2.
"""
return
_requires_unix_version
(
'FreeBSD'
,
min_version
)
def
requires_linux_version
(
*
min_version
):
"""Decorator raising SkipTest if the OS is Linux and the Linux version is
less than `min_version`.
For example, @requires_linux_version(2, 6, 32) raises SkipTest if the Linux
version is less than 2.6.32.
"""
return
_requires_unix_version
(
'Linux'
,
min_version
)
def
requires_mac_ver
(
*
min_version
):
"""Decorator raising SkipTest if the OS is Mac OS X and the OS X
version if less than min_version.
...
...
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