diff --git a/pandas/tests/indexes/datetimes/test_indexing.py b/pandas/tests/indexes/datetimes/test_indexing.py index dd192db4b0eb3..8cffa035721b0 100644 --- a/pandas/tests/indexes/datetimes/test_indexing.py +++ b/pandas/tests/indexes/datetimes/test_indexing.py @@ -583,7 +583,6 @@ def test_get_indexer(self): def test_reasonable_keyerror(self): # GH#1062 index = DatetimeIndex(['1/3/2000']) - try: + with pytest.raises(KeyError) as excinfo: index.get_loc('1/1/2000') - except KeyError as e: - assert '2000' in str(e) + assert '2000' in str(excinfo.value) diff --git a/pandas/tests/io/parser/c_parser_only.py b/pandas/tests/io/parser/c_parser_only.py index e0422249289b7..9dc7b070f889d 100644 --- a/pandas/tests/io/parser/c_parser_only.py +++ b/pandas/tests/io/parser/c_parser_only.py @@ -23,21 +23,19 @@ class CParserTests(object): - def test_buffer_overflow(self): + @pytest.mark.parametrize( + 'malf', + ['1\r1\r1\r 1\r 1\r', + '1\r1\r1\r 1\r 1\r11\r', + '1\r1\r1\r 1\r 1\r11\r1\r'], + ids=['words pointer', 'stream pointer', 'lines pointer']) + def test_buffer_overflow(self, malf): # see gh-9205: test certain malformed input files that cause # buffer overflows in tokenizer.c - - malfw = "1\r1\r1\r 1\r 1\r" # buffer overflow in words pointer - malfs = "1\r1\r1\r 1\r 1\r11\r" # buffer overflow in stream pointer - malfl = "1\r1\r1\r 1\r 1\r11\r1\r" # buffer overflow in lines pointer - cperr = 'Buffer overflow caught - possible malformed input file.' - - for malf in (malfw, malfs, malfl): - try: - self.read_table(StringIO(malf)) - except Exception as err: - assert cperr in str(err) + with pytest.raises(pd.errors.ParserError) as excinfo: + self.read_table(StringIO(malf)) + assert cperr in str(excinfo.value) def test_buffer_rd_bytes(self): # see gh-12098: src->buffer in the C parser can be freed twice leading