diff options
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/shlex.py | 4 | ||||
-rw-r--r-- | Lib/test/test_shlex.py | 7 |
2 files changed, 10 insertions, 1 deletions
diff --git a/Lib/shlex.py b/Lib/shlex.py index c817274..4801a6c 100644 --- a/Lib/shlex.py +++ b/Lib/shlex.py @@ -304,6 +304,10 @@ class shlex: def split(s, comments=False, posix=True): """Split the string *s* using shell-like syntax.""" + if s is None: + import warnings + warnings.warn("Passing None for 's' to shlex.split() is deprecated.", + DeprecationWarning, stacklevel=2) lex = shlex(s, posix=posix) lex.whitespace_split = True if not comments: diff --git a/Lib/test/test_shlex.py b/Lib/test/test_shlex.py index a21ccd2..3081a78 100644 --- a/Lib/test/test_shlex.py +++ b/Lib/test/test_shlex.py @@ -3,7 +3,7 @@ import itertools import shlex import string import unittest - +from unittest import mock # The original test data set was from shellwords, by Hartmut Goebel. @@ -162,6 +162,11 @@ class ShlexTest(unittest.TestCase): tok = lex.get_token() return ret + @mock.patch('sys.stdin', io.StringIO()) + def testSplitNoneDeprecation(self): + with self.assertWarns(DeprecationWarning): + shlex.split(None) + def testSplitPosix(self): """Test data splitting with posix parser""" self.splitTest(self.posix_data, comments=True) |