Author: Ronan Lamy <ronan.l...@gmail.com> Branch: cleanup-test_lib_pypy Changeset: r95420:74d03670644b Date: 2018-12-05 06:29 +0000 http://bitbucket.org/pypy/pypy/changeset/74d03670644b/
Log: Update and move test_dbm diff --git a/pypy/module/test_lib_pypy/test_dbm_extra.py b/extra_tests/test_dbm.py rename from pypy/module/test_lib_pypy/test_dbm_extra.py rename to extra_tests/test_dbm.py --- a/pypy/module/test_lib_pypy/test_dbm_extra.py +++ b/extra_tests/test_dbm.py @@ -1,47 +1,53 @@ -from __future__ import absolute_import -import py, os -from rpython.tool.udir import udir -try: - from lib_pypy import dbm -except ImportError as e: - py.test.skip(e) +import pytest -import sys -if '__pypy__' not in sys.builtin_module_names: - skip("lib_pypy.dbm requires PyPy's ctypes") +import os -def test_get(): - path = str(udir.join('test_dbm_extra.test_get')) +dbm = pytest.importorskip('dbm') + + +def test_get(tmpdir): + path = str(tmpdir.join('test_dbm_extra.test_get')) d = dbm.open(path, 'c') x = d.get("42") assert x is None d.close() -def test_delitem(): - path = str(udir.join('test_dbm_extra.test_delitem')) +def test_delitem(tmpdir): + path = str(tmpdir.join('test_dbm_extra.test_delitem')) d = dbm.open(path, 'c') - py.test.raises(KeyError, "del d['xyz']") + with pytest.raises(KeyError): + del d['xyz'] -def test_nonstring(): - path = str(udir.join('test_dbm_extra.test_nonstring')) +def test_nonstring(tmpdir): + path = str(tmpdir.join('test_dbm_extra.test_nonstring')) d = dbm.open(path, 'c') - py.test.raises(TypeError, "d[123] = 'xyz'") - py.test.raises(TypeError, "d['xyz'] = 123") - py.test.raises(TypeError, "d['xyz'] = None") - py.test.raises(TypeError, "del d[123]") - py.test.raises(TypeError, "d[123]") - py.test.raises(TypeError, "123 in d") - py.test.raises(TypeError, "d.has_key(123)") - py.test.raises(TypeError, "d.setdefault(123, 'xyz')") - py.test.raises(TypeError, "d.setdefault('xyz', 123)") - py.test.raises(TypeError, "d.get(123)") + with pytest.raises(TypeError): + d[123] = 'xyz' + with pytest.raises(TypeError): + d['xyz'] = 123 + with pytest.raises(TypeError): + d['xyz'] = None + with pytest.raises(TypeError): + del d[123] + with pytest.raises(TypeError): + d[123] + with pytest.raises(TypeError): + 123 in d + with pytest.raises(TypeError): + d.has_key(123) + with pytest.raises(TypeError): + d.setdefault(123, 'xyz') + with pytest.raises(TypeError): + d.setdefault('xyz', 123) + with pytest.raises(TypeError): + d.get(123) assert dict(d) == {} d.setdefault('xyz', '123') assert dict(d) == {'xyz': '123'} d.close() -def test_multiple_sets(): - path = str(udir.join('test_dbm_extra.test_multiple_sets')) +def test_multiple_sets(tmpdir): + path = str(tmpdir.join('test_dbm_extra.test_multiple_sets')) d = dbm.open(path, 'c') d['xyz'] = '12' d['xyz'] = '3' @@ -49,9 +55,12 @@ assert dict(d) == {'xyz': '546'} assert d['xyz'] == '546' +@pytest.mark.skipif("'__pypy__' not in sys.modules") def test_extra(): - py.test.raises(TypeError, dbm.datum, 123) - py.test.raises(TypeError, dbm.datum, False) + with pytest.raises(TypeError): + dbm.datum(123) + with pytest.raises(TypeError): + dbm.datum(False) def test_null(): db = dbm.open('test', 'c') @@ -62,12 +71,12 @@ assert db['1'] == 'a\x00b' db.close() -def test_key_with_empty_value(): +def test_key_with_empty_value(tmpdir): # this test fails on CPython too (at least on tannit), and the # case shows up when gdbm is not installed and test_anydbm.py # falls back dbm. - py.test.skip("test may fail on CPython too") - path = str(udir.join('test_dbm_extra.test_key_with_empty_value')) + pytest.skip("test may fail on CPython too") + path = str(tmpdir.join('test_dbm_extra.test_key_with_empty_value')) d = dbm.open(path, 'c') assert 'key_with_empty_value' not in d d['key_with_empty_value'] = '' @@ -75,7 +84,7 @@ assert d['key_with_empty_value'] == '' d.close() -def test_unicode_filename(): - path = str(udir) + os.sep + u'test_dbm_extra.test_unicode_filename' +def test_unicode_filename(tmpdir): + path = str(tmpdir) + os.sep + u'test_dbm_extra.test_unicode_filename' d = dbm.open(path, 'c') d.close() _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit