Skip to content

Commit 1865115

Browse files
author
renaud gaudin
committed
added tests for segfault, left over files and double-close
1 parent de7344a commit 1865115

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

tests/test_libzim.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,3 +159,28 @@ def test_creator_params(tmpdir):
159159
assert zim.filename == path
160160
assert zim.main_page_url == main_page_url
161161
assert bytes(zim.get_article("/M/Language").content).decode("UTF-8") == index_language
162+
163+
164+
def test_segfault_on_realloc(tmpdir):
165+
""" assert that we are able to delete an unclosed Creator #31 """
166+
creator = Creator(str(tmpdir / "test.zim"), "welcome", "eng", 2048)
167+
del creator # used to segfault
168+
assert True
169+
170+
171+
def test_noleftbehind_empty(tmpdir):
172+
""" assert that ZIM with no articles don't leave files behind #41 """
173+
fname = "test_empty.zim"
174+
with Creator(
175+
str(tmpdir / fname), main_page="welcome", index_language="eng", min_chunk_size=2048,
176+
) as zim_creator:
177+
print(zim_creator)
178+
179+
assert len([p for p in tmpdir.listdir() if p.basename.startswith(fname)]) == 1
180+
181+
182+
def test_double_close(tmpdir):
183+
creator = Creator(str(tmpdir / "test.zim"), "welcome", "eng", 2048)
184+
creator.close()
185+
with pytest.raises(RuntimeError):
186+
creator.close()

0 commit comments

Comments
 (0)