Skip to content

Commit d1f0283

Browse files
committed
Add init and close pytests.
1 parent e160ecd commit d1f0283

File tree

7 files changed

+49
-10
lines changed

7 files changed

+49
-10
lines changed

.travis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@ install:
2121
if [ "$TRAVIS_OS_NAME" == "linux" ]; then
2222
python3.6 -m venv venv
2323
source venv/bin/activate
24-
pip install tensorflow virtualenv
24+
pip install tensorflow virtualenv pytest
2525
fi
2626
- |
2727
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
2828
python3 -m venv venv
2929
source venv/bin/activate
30-
pip install tensorflow virtualenv
30+
pip install tensorflow virtualenv pytest
3131
fi
3232
3333
script: ci/script.sh

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@ add_definitions(-D_GLIBCXX_USE_CXX11_ABI=${CXX_11_ABI})
1414

1515
add_subdirectory(finalfusion-cxx)
1616
add_subdirectory(finalfusion-tf)
17+
add_subdirectory(tests)

ci/script.sh

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,4 @@ cd build
77
cmake ..
88
make
99

10-
# Verify that we can load the shared library in tensorflow.
11-
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
12-
python3 -c "import tensorflow as tf; tf.load_op_library('finalfusion-tf/libfinalfusion_tf.dylib')"
13-
fi
14-
15-
if [ "$TRAVIS_OS_NAME" == "linux" ]; then
16-
python3.6 -c "import tensorflow as tf; tf.load_op_library('finalfusion-tf/libfinalfusion_tf.so')"
17-
fi
10+
ctest

tests/CMakeLists.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
include(CTest)
2+
3+
file(COPY testdata/test.fifu DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/data)
4+
message(${CMAKE_CURRENT_BINARY_DIR})
5+
6+
add_test(NAME python-init-close
7+
COMMAND pytest ${CMAKE_CURRENT_SOURCE_DIR}
8+
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
9+
)

tests/conftest.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import os
2+
import platform
3+
4+
import pytest
5+
import tensorflow as tf
6+
7+
tf.enable_eager_execution()
8+
9+
10+
@pytest.fixture
11+
def ff_lib(tests_root):
12+
if platform.system() == "Darwin":
13+
LIB_SUFFIX = ".dylib"
14+
else:
15+
LIB_SUFFIX = ".so"
16+
17+
yield tf.load_op_library("./finalfusion-tf/libfinalfusion_tf" + LIB_SUFFIX)
18+
19+
20+
@pytest.fixture
21+
def tests_root():
22+
yield os.path.dirname(__file__)

tests/test_init_close.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import platform
2+
import pytest
3+
4+
5+
def test_init_and_close(ff_lib):
6+
embeddings = ff_lib.ff_embeddings()
7+
ff_lib.initialize_ff_embeddings(embeddings, "tests/data/test.fifu", mmap=False)
8+
ff_lib.close_ff_embeddings(embeddings)
9+
10+
11+
def test_init_and_close_mmap(ff_lib):
12+
embeddings = ff_lib.ff_embeddings()
13+
ff_lib.initialize_ff_embeddings(embeddings, "tests/data/test.fifu", mmap=True)
14+
ff_lib.close_ff_embeddings(embeddings)

tests/testdata/test.fifu

16.6 KB
Binary file not shown.

0 commit comments

Comments
 (0)