blob: b6f9d1881db8d3154c73226414fa87f257a20bc8 [file] [log] [blame]
Henry Schreinerd8c7ee02020-07-20 13:35:21 -04001# -*- coding: utf-8 -*-
Dean Moldovan3b44dae2016-08-18 16:55:26 +02002import os
Henry Schreiner4d9024e2020-08-16 16:02:12 -04003
Isuru Fernando0d70f0e2020-07-07 08:58:16 -05004import pytest
Henry Schreiner4d9024e2020-08-16 16:02:12 -04005
6import env # noqa: F401
7
Jason Rhinelander391c7542017-07-25 16:47:36 -04008from pybind11_tests import eval_ as m
Dean Moldovana0c1ccf2016-08-12 13:50:00 +02009
10
Dean Moldovan3b44dae2016-08-18 16:55:26 +020011def test_evals(capture):
Dean Moldovana0c1ccf2016-08-12 13:50:00 +020012 with capture:
Jason Rhinelander391c7542017-07-25 16:47:36 -040013 assert m.test_eval_statements()
Dean Moldovan3b44dae2016-08-18 16:55:26 +020014 assert capture == "Hello World!"
15
Jason Rhinelander391c7542017-07-25 16:47:36 -040016 assert m.test_eval()
17 assert m.test_eval_single_statement()
Dean Moldovan3b44dae2016-08-18 16:55:26 +020018
Isuru Fernando0d70f0e2020-07-07 08:58:16 -050019 assert m.test_eval_failure()
20
21
Henry Schreiner4d9024e2020-08-16 16:02:12 -040022@pytest.mark.xfail("env.PYPY and not env.PY2", raises=RuntimeError)
Isuru Fernando0d70f0e2020-07-07 08:58:16 -050023def test_eval_file():
Dean Moldovan3b44dae2016-08-18 16:55:26 +020024 filename = os.path.join(os.path.dirname(__file__), "test_eval_call.py")
Jason Rhinelander391c7542017-07-25 16:47:36 -040025 assert m.test_eval_file(filename)
Dean Moldovan3b44dae2016-08-18 16:55:26 +020026
Jason Rhinelander391c7542017-07-25 16:47:36 -040027 assert m.test_eval_file_failure()