From 97d349c0a3ccbd2abea6fd3ab22e95e1a32af512 Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Wed, 22 Jun 2022 15:38:30 +0200 Subject: [PATCH] gh-84461: Fix test_sqlite for Emscripten/WASI --- Lib/test/test_sqlite3/test_dbapi.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Lib/test/test_sqlite3/test_dbapi.py b/Lib/test/test_sqlite3/test_dbapi.py index 18e84e9e58632b..363a308f3e5fec 100644 --- a/Lib/test/test_sqlite3/test_dbapi.py +++ b/Lib/test/test_sqlite3/test_dbapi.py @@ -29,7 +29,10 @@ import unittest import urllib.parse -from test.support import SHORT_TIMEOUT, check_disallow_instantiation +from test.support import ( + SHORT_TIMEOUT, check_disallow_instantiation, requires_subprocess, + is_emscripten, is_wasi +) from test.support import threading_helper from _testcapi import INT_MAX, ULLONG_MAX from os import SEEK_SET, SEEK_CUR, SEEK_END @@ -653,6 +656,7 @@ def test_open_with_path_like_object(self): @unittest.skipIf(sys.platform == "win32", "skipped on Windows") @unittest.skipIf(sys.platform == "darwin", "skipped on macOS") + @unittest.skipIf(is_emscripten or is_wasi, "not supported on Emscripten/WASI") @unittest.skipUnless(TESTFN_UNDECODABLE, "only works if there are undecodable paths") def test_open_with_undecodable_path(self): path = TESTFN_UNDECODABLE @@ -698,6 +702,7 @@ def test_open_uri_readonly(self): @unittest.skipIf(sys.platform == "win32", "skipped on Windows") @unittest.skipIf(sys.platform == "darwin", "skipped on macOS") + @unittest.skipIf(is_emscripten or is_wasi, "not supported on Emscripten/WASI") @unittest.skipUnless(TESTFN_UNDECODABLE, "only works if there are undecodable paths") def test_open_undecodable_uri(self): path = TESTFN_UNDECODABLE @@ -1453,6 +1458,7 @@ def test_blob_closed_db_read(self): blob.read) +@threading_helper.requires_working_threading() class ThreadTests(unittest.TestCase): def setUp(self): self.con = sqlite.connect(":memory:") @@ -1817,6 +1823,7 @@ def test_on_conflict_replace(self): self.assertEqual(self.cu.fetchall(), [('Very different data!', 'foo')]) +@requires_subprocess() class MultiprocessTests(unittest.TestCase): CONNECTION_TIMEOUT = SHORT_TIMEOUT / 1000. # Defaults to 30 ms