From 3b5782ab88407b1e2ddd55293065e981bcb49f79 Mon Sep 17 00:00:00 2001 From: Licht-T Date: Thu, 2 Nov 2017 08:49:58 +0900 Subject: [PATCH] TST: Add test for the large file read/write --- python/pyarrow/tests/conftest.py | 14 +++++++++++++- python/pyarrow/tests/test_feather.py | 10 ++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/python/pyarrow/tests/conftest.py b/python/pyarrow/tests/conftest.py index c6bd6c9b3a2d7..e27682232a22d 100644 --- a/python/pyarrow/tests/conftest.py +++ b/python/pyarrow/tests/conftest.py @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -from pytest import skip +from pytest import skip, mark groups = [ @@ -70,6 +70,18 @@ def pytest_addoption(parser): default=False, help=('Run only the {0} test group'.format(group))) + parser.addoption('--runslow', action='store_true', + default=False, help='run slow tests') + + +def pytest_collection_modifyitems(config, items): + if not config.getoption('--runslow'): + skip_slow = mark.skip(reason='need --runslow option to run') + + for item in items: + if 'slow' in item.keywords: + item.add_marker(skip_slow) + def pytest_runtest_setup(item): only_set = False diff --git a/python/pyarrow/tests/test_feather.py b/python/pyarrow/tests/test_feather.py index 9e7fc8863e759..a22e0ff5c8a9c 100644 --- a/python/pyarrow/tests/test_feather.py +++ b/python/pyarrow/tests/test_feather.py @@ -50,7 +50,7 @@ def tearDown(self): pass def test_file_not_exist(self): - with self.assertRaises(pa.ArrowIOError): + with pytest.raises(pa.ArrowIOError): FeatherReader('test_invalid_file') def _get_null_counts(self, path, columns=None): @@ -98,7 +98,7 @@ def _assert_error_on_write(self, df, exc, path=None): def f(): write_feather(df, path) - self.assertRaises(exc, f) + pytest.raises(exc, f) def test_num_rows_attr(self): df = pd.DataFrame({'foo': [1, 2, 3, 4, 5]}) @@ -466,3 +466,9 @@ def test_unsupported(self): # non-strings df = pd.DataFrame({'a': ['a', 1, 2.0]}) self._assert_error_on_write(df, ValueError) + + @pytest.mark.slow + def test_large_dataframe(self): + df = pd.DataFrame(np.random.randint(0, 100, size=(400000000, 1)), + columns=list('A')) + self._check_pandas_roundtrip(df)