Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gh-116622: Test updates for Android #117299

Merged
merged 5 commits into from Apr 5, 2024
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion Lib/test/_test_multiprocessing.py
Expand Up @@ -4662,7 +4662,7 @@ def make_finalizers():
old_interval = sys.getswitchinterval()
old_threshold = gc.get_threshold()
try:
sys.setswitchinterval(1e-6)
support.setswitchinterval(1e-6)
erlend-aasland marked this conversation as resolved.
Show resolved Hide resolved
gc.set_threshold(5, 5, 5)
threads = [threading.Thread(target=run_finalizers),
threading.Thread(target=make_finalizers)]
Expand Down
2 changes: 1 addition & 1 deletion Lib/test/test_concurrent_futures/test_wait.py
Expand Up @@ -142,7 +142,7 @@ def test_pending_calls_race(self):
def future_func():
event.wait()
oldswitchinterval = sys.getswitchinterval()
sys.setswitchinterval(1e-6)
support.setswitchinterval(1e-6)
try:
fs = {self.executor.submit(future_func) for i in range(100)}
event.set()
Expand Down
6 changes: 3 additions & 3 deletions Lib/test/test_fcntl.py
Expand Up @@ -129,9 +129,9 @@ def test_fcntl_bad_file_overflow(self):
fcntl.fcntl(BadFile(INT_MIN - 1), fcntl.F_SETFL, os.O_NONBLOCK)

@unittest.skipIf(
platform.machine().startswith(("arm", "aarch"))
and platform.system() in ("Linux", "Android"),
"ARM Linux returns EINVAL for F_NOTIFY DN_MULTISHOT")
(platform.machine().startswith("arm") and platform.system() == "Linux")
or platform.system() == "Android",
"this platform returns EINVAL for F_NOTIFY DN_MULTISHOT")
def test_fcntl_64_bit(self):
erlend-aasland marked this conversation as resolved.
Show resolved Hide resolved
# Issue #1309352: fcntl shouldn't fail when the third arg fits in a
# C 'long' but not in a C 'int'.
Expand Down
3 changes: 2 additions & 1 deletion Lib/test/test_gc.py
@@ -1,5 +1,6 @@
import unittest
import unittest.mock
from test import support
from test.support import (verbose, refcount_test,
cpython_only, requires_subprocess, Py_GIL_DISABLED)
from test.support.import_helper import import_module
Expand Down Expand Up @@ -470,7 +471,7 @@ def run_thread():
make_nested()

old_switchinterval = sys.getswitchinterval()
sys.setswitchinterval(1e-5)
support.setswitchinterval(1e-5)
try:
exit = []
threads = []
Expand Down
3 changes: 2 additions & 1 deletion Lib/test/test_importlib/test_threaded_import.py
Expand Up @@ -13,6 +13,7 @@
import shutil
import threading
import unittest
from test import support
from test.support import verbose
from test.support.import_helper import forget, mock_register_at_fork
from test.support.os_helper import (TESTFN, unlink, rmtree)
Expand Down Expand Up @@ -260,7 +261,7 @@ def setUpModule():
try:
old_switchinterval = sys.getswitchinterval()
unittest.addModuleCleanup(sys.setswitchinterval, old_switchinterval)
sys.setswitchinterval(1e-5)
support.setswitchinterval(1e-5)
except AttributeError:
pass

Expand Down
10 changes: 5 additions & 5 deletions Lib/test/test_math.py
Expand Up @@ -2691,12 +2691,12 @@ def test_fma_infinities(self):
self.assertEqual(math.fma(-b, -math.inf, c), math.inf)
self.assertEqual(math.fma(-b, math.inf, c), -math.inf)

# gh-73468: On WASI and FreeBSD, libc fma() doesn't implement IEE 754-2008
# gh-73468: On some platforms, libc fma() doesn't implement IEE 754-2008
# properly: it doesn't use the right sign when the result is zero.
@unittest.skipIf(support.is_wasi,
"WASI fma() doesn't implement IEE 754-2008 properly")
@unittest.skipIf(sys.platform.startswith('freebsd'),
"FreeBSD fma() doesn't implement IEE 754-2008 properly")
@unittest.skipIf(
sys.platform.startswith(("freebsd", "wasi"))
or (sys.platform == "android" and platform.machine() == "x86_64"),
f"this platform doesn't implement IEE 754-2008 properly")
def test_fma_zero_result(self):
Comment on lines +2696 to 2700
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See discussion at #116667 (comment).

nonnegative_finites = [0.0, 1e-300, 2.3, 1e300]

Expand Down
7 changes: 6 additions & 1 deletion Lib/test/test_os.py
Expand Up @@ -3931,7 +3931,12 @@ def test_does_not_crash(self):
try:
size = os.get_terminal_size()
except OSError as e:
if sys.platform == "win32" or e.errno in (errno.EINVAL, errno.ENOTTY):
known_errnos = [errno.EINVAL, errno.ENOTTY]
if sys.platform == "android":
# The Android testbed redirects the native stdout to a pipe,
# which returns a different error code.
known_errnos.append(errno.EACCES)
if (sys.platform == "win32") or (e.errno in known_errnos):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The parentheses are not needed.

# Under win32 a generic OSError can be thrown if the
# handle cannot be retrieved
self.skipTest("failed to query terminal size")
Expand Down
2 changes: 1 addition & 1 deletion Lib/test/test_threading.py
Expand Up @@ -515,7 +515,7 @@ def test_enumerate_after_join(self):
old_interval = sys.getswitchinterval()
try:
for i in range(1, 100):
sys.setswitchinterval(i * 0.0002)
support.setswitchinterval(i * 0.0002)
t = threading.Thread(target=lambda: None)
t.start()
t.join()
Expand Down