Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Mark failing tests as expectedFailure
  • Loading branch information
Blues-star authored and youknowone committed Mar 5, 2024
commit e4be47a08b2f1a2592e527083fa481462a679a4e
40 changes: 40 additions & 0 deletions Lib/test/test_csv.py
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,8 @@ def _write_error_test(self, exc, fields, **kwargs):
fileobj.seek(0)
self.assertEqual(fileobj.read(), '')

# TODO: RUSTPYTHON ''\r\n to ""\r\n unsupported
@unittest.expectedFailure
def test_write_arg_valid(self):
self._write_error_test(csv.Error, None)
self._write_test((), '')
Expand All @@ -175,6 +177,8 @@ def test_write_bigfield(self):
self._write_test([bigstring,bigstring], '%s,%s' % \
(bigstring, bigstring))

# TODO: RUSTPYTHON quoting style check is unsupported
@unittest.expectedFailure
def test_write_quoting(self):
self._write_test(['a',1,'p,q'], 'a,1,"p,q"')
self._write_error_test(csv.Error, ['a',1,'p,q'],
Expand All @@ -192,6 +196,8 @@ def test_write_quoting(self):
self._write_test(['a','',None,1], '"a","",,"1"',
quoting = csv.QUOTE_NOTNULL)

# TODO: RUSTPYTHON doublequote check is unsupported
@unittest.expectedFailure
def test_write_escape(self):
self._write_test(['a',1,'p,q'], 'a,1,"p,q"',
escapechar='\\')
Expand Down Expand Up @@ -223,6 +229,8 @@ def test_write_escape(self):
self._write_test(['C\\', '6', '7', 'X"'], 'C\\\\,6,7,"X"""',
escapechar='\\', quoting=csv.QUOTE_MINIMAL)

# TODO: RUSTPYTHON lineterminator double char unsupported
@unittest.expectedFailure
def test_write_lineterminator(self):
for lineterminator in '\r\n', '\n', '\r', '!@#', '\0':
with self.subTest(lineterminator=lineterminator):
Expand All @@ -234,6 +242,8 @@ def test_write_lineterminator(self):
f'a,b{lineterminator}'
f'1,2{lineterminator}')

# TODO: RUSTPYTHON ''\r\n to ""\r\n unspported
@unittest.expectedFailure
def test_write_iterable(self):
self._write_test(iter(['a', 1, 'p,q']), 'a,1,"p,q"')
self._write_test(iter(['a', 1, None]), 'a,1,')
Expand Down Expand Up @@ -298,6 +308,8 @@ def _read_test(self, input, expect, **kwargs):
result = list(reader)
self.assertEqual(result, expect)

# TODO RUSTPYTHON strict mode is unsupported
@unittest.expectedFailure
def test_read_oddinputs(self):
self._read_test([], [])
self._read_test([''], [[]])
Expand All @@ -317,6 +329,8 @@ def test_read_eol(self):
self.assertRaises(csv.Error, self._read_test, ['a,b\nc,d'], [])
self.assertRaises(csv.Error, self._read_test, ['a,b\r\nc,d'], [])

# TODO RUSTPYTHON double quote umimplement
@unittest.expectedFailure
def test_read_eof(self):
self._read_test(['a,"'], [['a', '']])
self._read_test(['"a'], [['a']])
Expand All @@ -326,6 +340,8 @@ def test_read_eof(self):
self.assertRaises(csv.Error, self._read_test,
['^'], [], escapechar='^', strict=True)

# TODO RUSTPYTHON
@unittest.expectedFailure
def test_read_nul(self):
self._read_test(['\0'], [['\0']])
self._read_test(['a,\0b,c'], [['a', '\0b', 'c']])
Expand All @@ -338,6 +354,8 @@ def test_read_delimiter(self):
self._read_test(['a;b;c'], [['a', 'b', 'c']], delimiter=';')
self._read_test(['a\0b\0c'], [['a', 'b', 'c']], delimiter='\0')

# TODO RUSTPYTHON
@unittest.expectedFailure
def test_read_escape(self):
self._read_test(['a,\\b,c'], [['a', 'b', 'c']], escapechar='\\')
self._read_test(['a,b\\,c'], [['a', 'b,c']], escapechar='\\')
Expand All @@ -350,6 +368,8 @@ def test_read_escape(self):
self._read_test(['a,\\b,c'], [['a', '\\b', 'c']], escapechar=None)
self._read_test(['a,\\b,c'], [['a', '\\b', 'c']])

# TODO RUSTPYTHON escapechar unsupported
@unittest.expectedFailure
def test_read_quoting(self):
self._read_test(['1,",3,",5'], [['1', ',3,', '5']])
self._read_test(['1,",3,",5'], [['1', '"', '3', '"', '5']],
Expand Down Expand Up @@ -402,6 +422,8 @@ def test_read_linenum(self):
self.assertRaises(StopIteration, next, r)
self.assertEqual(r.line_num, 3)

# TODO: RUSTPYTHON only '\r\n' unsupported
@unittest.expectedFailure
def test_roundtrip_quoteed_newlines(self):
with TemporaryFile("w+", encoding="utf-8", newline='') as fileobj:
writer = csv.writer(fileobj)
Expand All @@ -411,6 +433,8 @@ def test_roundtrip_quoteed_newlines(self):
for i, row in enumerate(csv.reader(fileobj)):
self.assertEqual(row, rows[i])

# TODO: RUSTPYTHON only '\r\n' unsupported
@unittest.expectedFailure
def test_roundtrip_escaped_unquoted_newlines(self):
with TemporaryFile("w+", encoding="utf-8", newline='') as fileobj:
writer = csv.writer(fileobj,quoting=csv.QUOTE_NONE,escapechar="\\")
Expand Down Expand Up @@ -512,6 +536,8 @@ def compare_dialect_123(self, expected, *writeargs, **kwwriteargs):
fileobj.seek(0)
self.assertEqual(fileobj.read(), expected)

# TODO: RUSTPYTHON
@unittest.expectedFailure
def test_dialect_apply(self):
Comment thread
Blues-star marked this conversation as resolved.
class testA(csv.excel):
delimiter = "\t"
Expand Down Expand Up @@ -555,6 +581,8 @@ def test_copy(self):
dialect = csv.get_dialect(name)
self.assertRaises(TypeError, copy.copy, dialect)

# TODO: RUSTPYTHON
@unittest.expectedFailure
def test_pickle(self):
for name in csv.list_dialects():
dialect = csv.get_dialect(name)
Expand Down Expand Up @@ -641,6 +669,8 @@ def test_quoted_quote(self):
'"I see," said the blind man',
'as he picked up his hammer and saw']])

# Rustpython TODO
@unittest.expectedFailure
def test_quoted_nl(self):
input = '''\
1,2,3,"""I see,""
Expand Down Expand Up @@ -681,15 +711,21 @@ class EscapedExcel(csv.excel):
class TestEscapedExcel(TestCsvBase):
dialect = EscapedExcel()

# TODO RUSTPYTHON
@unittest.expectedFailure
def test_escape_fieldsep(self):
self.writerAssertEqual([['abc,def']], 'abc\\,def\r\n')

# TODO RUSTPYTHON
@unittest.expectedFailure
def test_read_escape_fieldsep(self):
self.readerAssertEqual('abc\\,def\r\n', [['abc,def']])

class TestDialectUnix(TestCsvBase):
dialect = 'unix'

# TODO RUSTPYTHON
@unittest.expectedFailure
def test_simple_writer(self):
self.writerAssertEqual([[1, 'abc def', 'abc']], '"1","abc def","abc"\n')

Expand All @@ -706,6 +742,8 @@ class TestQuotedEscapedExcel(TestCsvBase):
def test_write_escape_fieldsep(self):
self.writerAssertEqual([['abc,def']], '"abc,def"\r\n')

# TODO RUSTPYTHON
@unittest.expectedFailure
def test_read_escape_fieldsep(self):
self.readerAssertEqual('"abc\\,def"\r\n', [['abc,def']])

Expand Down Expand Up @@ -902,6 +940,8 @@ def test_read_multi(self):
"s1": 'abc',
"s2": 'def'})

# TODO RUSTPYTHON
@unittest.expectedFailure
def test_read_with_blanks(self):
reader = csv.DictReader(["1,2,abc,4,5,6\r\n","\r\n",
"1,2,abc,4,5,6\r\n"],
Expand Down