summaryrefslogtreecommitdiff
path: root/Lib/test/support/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/support/__init__.py')
-rw-r--r--Lib/test/support/__init__.py19
1 files changed, 13 insertions, 6 deletions
diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py
index 15d8fc849b..6658ece735 100644
--- a/Lib/test/support/__init__.py
+++ b/Lib/test/support/__init__.py
@@ -777,8 +777,13 @@ requires_lzma = unittest.skipUnless(lzma, 'requires lzma')
is_jython = sys.platform.startswith('java')
-_ANDROID_API_LEVEL = sysconfig.get_config_var('ANDROID_API_LEVEL')
-is_android = (_ANDROID_API_LEVEL is not None and _ANDROID_API_LEVEL > 0)
+try:
+ # constant used by requires_android_level()
+ _ANDROID_API_LEVEL = sys.getandroidapilevel()
+ is_android = True
+except AttributeError:
+ # sys.getandroidapilevel() is only available on Android
+ is_android = False
android_not_root = (is_android and os.geteuid() != 0)
if sys.platform != 'win32':
@@ -949,10 +954,11 @@ def temp_dir(path=None, quiet=False):
try:
os.mkdir(path)
dir_created = True
- except OSError:
+ except OSError as exc:
if not quiet:
raise
- warnings.warn('tests may fail, unable to create temp dir: ' + path,
+ warnings.warn(f'tests may fail, unable to create '
+ f'temporary directory {path!r}: {exc}',
RuntimeWarning, stacklevel=3)
try:
yield path
@@ -976,10 +982,11 @@ def change_cwd(path, quiet=False):
saved_dir = os.getcwd()
try:
os.chdir(path)
- except OSError:
+ except OSError as exc:
if not quiet:
raise
- warnings.warn('tests may fail, unable to change CWD to: ' + path,
+ warnings.warn(f'tests may fail, unable to change the current working '
+ f'directory to {path!r}: {exc}',
RuntimeWarning, stacklevel=3)
try:
yield os.getcwd()