Pyarrow Segfault Regression Test (#7568)

This commit is contained in:
ijrsvt
2020-03-29 16:15:24 -07:00
committed by GitHub
parent 353d7e107f
commit 57599f075c
2 changed files with 37 additions and 0 deletions
+8
View File
@@ -407,3 +407,11 @@ py_test(
tags = ["exclusive"],
deps = ["//:ray_lib"],
)
py_test(
name = "test_symbol_collisions",
size = "small",
srcs = ["test_symbol_collisions.py"],
tags = ["exclusive"],
deps = ["//:ray_lib"],
)
@@ -0,0 +1,29 @@
"""
This script ensures that various libraries do not conflict with ray by
trying to import both libraries in both orders.
A specific example is that importing ray after pyarrow causes a Segfault.
"""
import subprocess
TESTED_LIBRARIES = ["pyarrow"]
def test_imports():
def try_imports(library1, library2):
return_info = subprocess.run([
"python", "-c", "import {}; import {}".format(library1, library2)
])
if return_info.returncode != 0:
return "Importing {} before {} caused an error".format(
library1, library2)
return ""
for library in TESTED_LIBRARIES:
assert try_imports("ray", library) == ""
assert try_imports(library, "ray") == ""
if __name__ == "__main__":
import sys
import pytest
sys.exit(pytest.main(["-v", __file__]))