Author: Armin Rigo <ar...@tunes.org> Branch: Changeset: r589:ae4df1d71966 Date: 2012-07-07 13:44 +0200 http://bitbucket.org/cffi/cffi/changeset/ae4df1d71966/
Log: Extra tests diff --git a/c/test_c.py b/c/test_c.py --- a/c/test_c.py +++ b/c/test_c.py @@ -845,6 +845,8 @@ return callback(BFunc, cb, 42) # 'cb' and 'BFunc' go out of scope f = make_callback() assert f(-142) == -141 + assert repr(f).startswith( + "<cdata 'int(*)(int)' calling <function cb at 0x") def test_callback_return_type(): for rettype in ["signed char", "short", "int", "long", "long long", @@ -1318,3 +1320,39 @@ p = cast(BVoidP, 0) if 'PY_DOT_PY' in globals(): py.test.skip("NULL crashes early on py.py") py.test.raises(TypeError, "p[0]") + +def test_iter(): + BInt = new_primitive_type("int") + BIntP = new_pointer_type(BInt) + BArray = new_array_type(BIntP, None) # int[] + p = newp(BArray, 7) + assert list(p) == list(iter(p)) == [0] * 7 + # + py.test.raises(TypeError, iter, cast(BInt, 5)) + py.test.raises(TypeError, iter, cast(BIntP, 123456)) + +def test_cmp(): + BInt = new_primitive_type("int") + BIntP = new_pointer_type(BInt) + BVoidP = new_pointer_type(new_void_type()) + p = newp(BIntP, 123) + q = cast(BInt, 124) + py.test.raises(TypeError, "p < q") + py.test.raises(TypeError, "p <= q") + assert (p == q) is False + assert (p != q) is True + py.test.raises(TypeError, "p > q") + py.test.raises(TypeError, "p >= q") + r = cast(BVoidP, p) + assert (p < r) is False + assert (p <= r) is True + assert (p == r) is True + assert (p != r) is False + assert (p > r) is False + assert (p >= r) is True + s = newp(BIntP, 125) + assert (p == s) is False + assert (p != s) is True + assert (p < s) is (p <= s) is (s > p) is (s >= p) + assert (p > s) is (p >= s) is (s < p) is (s <= p) + assert (p < s) ^ (p > s) _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit