summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2014-01-29 22:45:07 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2014-01-29 22:45:07 (GMT)
commit0e5b2412c2162ca57a3c9f0882e9e2c71ade964e (patch)
treefa1a404b5026e737bdeef36bf867c463e06b547d /Lib/test
parent9e3a60b7d7a8d9a1699c4c7e89ab7f36143f7569 (diff)
parentbb08b365c03d1869ac457ba958c6ed13fcd8d461 (diff)
downloadcpython-0e5b2412c2162ca57a3c9f0882e9e2c71ade964e.zip
cpython-0e5b2412c2162ca57a3c9f0882e9e2c71ade964e.tar.gz
cpython-0e5b2412c2162ca57a3c9f0882e9e2c71ade964e.tar.bz2
Issue #20373: generalize use of test.script_helper in test_warnings. Patch by Arfrever.
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/test_warnings.py65
1 files changed, 22 insertions, 43 deletions
diff --git a/Lib/test/test_warnings.py b/Lib/test/test_warnings.py
index ccdc65b..eec2c24 100644
--- a/Lib/test/test_warnings.py
+++ b/Lib/test/test_warnings.py
@@ -4,7 +4,6 @@ import os
from io import StringIO
import sys
import unittest
-import subprocess
from test import support
from test.script_helper import assert_python_ok
@@ -732,47 +731,34 @@ class PyCatchWarningTests(CatchWarningTests, unittest.TestCase):
class EnvironmentVariableTests(BaseTest):
def test_single_warning(self):
- newenv = os.environ.copy()
- newenv["PYTHONWARNINGS"] = "ignore::DeprecationWarning"
- p = subprocess.Popen([sys.executable,
- "-c", "import sys; sys.stdout.write(str(sys.warnoptions))"],
- stdout=subprocess.PIPE, env=newenv)
- self.assertEqual(p.communicate()[0], b"['ignore::DeprecationWarning']")
- self.assertEqual(p.wait(), 0)
+ rc, stdout, stderr = assert_python_ok("-c",
+ "import sys; sys.stdout.write(str(sys.warnoptions))",
+ PYTHONWARNINGS="ignore::DeprecationWarning")
+ self.assertEqual(stdout, b"['ignore::DeprecationWarning']")
def test_comma_separated_warnings(self):
- newenv = os.environ.copy()
- newenv["PYTHONWARNINGS"] = ("ignore::DeprecationWarning,"
- "ignore::UnicodeWarning")
- p = subprocess.Popen([sys.executable,
- "-c", "import sys; sys.stdout.write(str(sys.warnoptions))"],
- stdout=subprocess.PIPE, env=newenv)
- self.assertEqual(p.communicate()[0],
- b"['ignore::DeprecationWarning', 'ignore::UnicodeWarning']")
- self.assertEqual(p.wait(), 0)
+ rc, stdout, stderr = assert_python_ok("-c",
+ "import sys; sys.stdout.write(str(sys.warnoptions))",
+ PYTHONWARNINGS="ignore::DeprecationWarning,ignore::UnicodeWarning")
+ self.assertEqual(stdout,
+ b"['ignore::DeprecationWarning', 'ignore::UnicodeWarning']")
def test_envvar_and_command_line(self):
- newenv = os.environ.copy()
- newenv["PYTHONWARNINGS"] = "ignore::DeprecationWarning"
- p = subprocess.Popen([sys.executable, "-W" "ignore::UnicodeWarning",
- "-c", "import sys; sys.stdout.write(str(sys.warnoptions))"],
- stdout=subprocess.PIPE, env=newenv)
- self.assertEqual(p.communicate()[0],
- b"['ignore::UnicodeWarning', 'ignore::DeprecationWarning']")
- self.assertEqual(p.wait(), 0)
+ rc, stdout, stderr = assert_python_ok("-Wignore::UnicodeWarning", "-c",
+ "import sys; sys.stdout.write(str(sys.warnoptions))",
+ PYTHONWARNINGS="ignore::DeprecationWarning")
+ self.assertEqual(stdout,
+ b"['ignore::UnicodeWarning', 'ignore::DeprecationWarning']")
@unittest.skipUnless(sys.getfilesystemencoding() != 'ascii',
'requires non-ascii filesystemencoding')
def test_nonascii(self):
- newenv = os.environ.copy()
- newenv["PYTHONWARNINGS"] = "ignore:DeprecaciónWarning"
- newenv["PYTHONIOENCODING"] = "utf-8"
- p = subprocess.Popen([sys.executable,
- "-c", "import sys; sys.stdout.write(str(sys.warnoptions))"],
- stdout=subprocess.PIPE, env=newenv)
- self.assertEqual(p.communicate()[0],
- "['ignore:DeprecaciónWarning']".encode('utf-8'))
- self.assertEqual(p.wait(), 0)
+ rc, stdout, stderr = assert_python_ok("-c",
+ "import sys; sys.stdout.write(str(sys.warnoptions))",
+ PYTHONIOENCODING="utf-8",
+ PYTHONWARNINGS="ignore:DeprecaciónWarning")
+ self.assertEqual(stdout,
+ "['ignore:DeprecaciónWarning']".encode('utf-8'))
class CEnvironmentVariableTests(EnvironmentVariableTests, unittest.TestCase):
module = c_warnings
@@ -787,18 +773,11 @@ class BootstrapTest(unittest.TestCase):
# or not completely loaded (warnings imports indirectly encodings by
# importing linecache) yet
with support.temp_cwd() as cwd, support.temp_cwd('encodings'):
- env = os.environ.copy()
- env['PYTHONPATH'] = cwd
-
# encodings loaded by initfsencoding()
- retcode = subprocess.call([sys.executable, '-c', 'pass'], env=env)
- self.assertEqual(retcode, 0)
+ assert_python_ok('-c', 'pass', PYTHONPATH=cwd)
# Use -W to load warnings module at startup
- retcode = subprocess.call(
- [sys.executable, '-c', 'pass', '-W', 'always'],
- env=env)
- self.assertEqual(retcode, 0)
+ assert_python_ok('-c', 'pass', '-W', 'always', PYTHONPATH=cwd)
class FinalizationTest(unittest.TestCase):
def test_finalization(self):