Skip to content

Commit a8d579d

Browse files
committed
Add guard clause to check if os has sendfile function
1 parent 01e6f73 commit a8d579d

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

extra_tests/snippets/stdlib_os.py

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,18 @@
1717
assert_raises(FileNotFoundError,
1818
lambda: os.rename('DOES_NOT_EXIST', 'DOES_NOT_EXIST 2'))
1919

20-
src_fd = os.open('README.md', os.O_RDONLY)
21-
dest_fd = os.open('destination.md', os.O_RDWR | os.O_CREAT)
22-
src_len = os.stat('README.md').st_size
23-
24-
bytes_sent = os.sendfile(dest_fd, src_fd, 0, src_len)
25-
assert src_len == bytes_sent
26-
27-
os.lseek(dest_fd, 0, 0)
28-
assert os.read(src_fd, src_len) == os.read(dest_fd, bytes_sent)
29-
os.close(src_fd)
30-
os.close(dest_fd)
20+
if hasattr(os, "sendfile"):
21+
src_fd = os.open('README.md', os.O_RDONLY)
22+
dest_fd = os.open('destination.md', os.O_RDWR | os.O_CREAT)
23+
src_len = os.stat('README.md').st_size
24+
25+
bytes_sent = os.sendfile(dest_fd, src_fd, 0, src_len)
26+
assert src_len == bytes_sent
27+
28+
os.lseek(dest_fd, 0, 0)
29+
assert os.read(src_fd, src_len) == os.read(dest_fd, bytes_sent)
30+
os.close(src_fd)
31+
os.close(dest_fd)
3132

3233
try:
3334
os.open('DOES_NOT_EXIST', 0)

0 commit comments

Comments
 (0)