From 28e59cb2235c9cf37571e339bd09df3e8acacaf6 Mon Sep 17 00:00:00 2001 From: Rui Abreu Ferreira Date: Tue, 27 Oct 2015 13:15:41 +0000 Subject: [PATCH] Use libuv errors instead of errno in unit tests Replaced old unit tests for errno with libuv error codes UV_ENOENT and UV_EEXIST (for os_open and os_getperms). Added libuv include path to test/includes compiler calls - needed to get hold of libuv headers. --- test/includes/CMakeLists.txt | 1 + test/includes/pre/sys/errno.h | 4 ---- test/includes/pre/uv-errno.h | 4 ++++ test/unit/os/fs_spec.lua | 14 +++++++------- 4 files changed, 12 insertions(+), 11 deletions(-) delete mode 100644 test/includes/pre/sys/errno.h create mode 100644 test/includes/pre/uv-errno.h diff --git a/test/includes/CMakeLists.txt b/test/includes/CMakeLists.txt index a139683b42..3d85197f19 100644 --- a/test/includes/CMakeLists.txt +++ b/test/includes/CMakeLists.txt @@ -8,6 +8,7 @@ foreach(hfile ${PRE_HEADERS}) OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${post_hfile} COMMAND ${CMAKE_C_COMPILER} -std=c99 -E -P ${CMAKE_CURRENT_SOURCE_DIR}/${hfile} + -I${LIBUV_INCLUDE_DIRS} -o ${CMAKE_CURRENT_BINARY_DIR}/${post_hfile}) list(APPEND POST_HEADERS ${post_hfile}) endforeach() diff --git a/test/includes/pre/sys/errno.h b/test/includes/pre/sys/errno.h deleted file mode 100644 index 0b8934d33e..0000000000 --- a/test/includes/pre/sys/errno.h +++ /dev/null @@ -1,4 +0,0 @@ -#include - -static const int kENOENT = ENOENT; -static const int kEEXIST = EEXIST; diff --git a/test/includes/pre/uv-errno.h b/test/includes/pre/uv-errno.h new file mode 100644 index 0000000000..6b80f60e5c --- /dev/null +++ b/test/includes/pre/uv-errno.h @@ -0,0 +1,4 @@ +#include + +static const int kUV_ENOENT = UV_ENOENT; +static const int kUV_EEXIST = UV_EEXIST; diff --git a/test/unit/os/fs_spec.lua b/test/unit/os/fs_spec.lua index 5a1b9e3aa8..95c98f18a1 100644 --- a/test/unit/os/fs_spec.lua +++ b/test/unit/os/fs_spec.lua @@ -23,7 +23,7 @@ cimport('./src/nvim/fileio.h') local fs = cimport('./src/nvim/os/os.h') cppimport('sys/stat.h') cppimport('sys/fcntl.h') -cppimport('sys/errno.h') +cppimport('uv-errno.h') local buffer = "" local directory = nil @@ -233,8 +233,8 @@ describe('fs function', function() end describe('os_getperm', function() - it('returns -1 when the given file does not exist', function() - eq(-1, (os_getperm('non-existing-file'))) + it('returns UV_ENOENT when the given file does not exist', function() + eq(ffi.C.UV_ENOENT, (os_getperm('non-existing-file'))) end) it('returns a perm > 0 when given an existing file', function() @@ -445,8 +445,8 @@ describe('fs function', function() local new_file = 'test_new_file' local existing_file = 'unit-test-directory/test_existing.file' - it('returns -ENOENT for O_RDWR on a non-existing file', function() - eq(-ffi.C.kENOENT, (os_open('non-existing-file', ffi.C.kO_RDWR, 0))) + it('returns UV_ENOENT for O_RDWR on a non-existing file', function() + eq(ffi.C.UV_ENOENT, (os_open('non-existing-file', ffi.C.kO_RDWR, 0))) end) it('returns non-negative for O_CREAT on a non-existing file', function() @@ -459,9 +459,9 @@ describe('fs function', function() assert.is_true(0 <= (os_open(existing_file, ffi.C.kO_CREAT, 0))) end) - it('returns -EEXIST for O_CREAT|O_EXCL on a existing file', function() + it('returns UV_EEXIST for O_CREAT|O_EXCL on a existing file', function() assert_file_exists(existing_file) - eq(-ffi.C.kEEXIST, (os_open(existing_file, (bit.bor(ffi.C.kO_CREAT, ffi.C.kO_EXCL)), 0))) + eq(ffi.C.kUV_EEXIST, (os_open(existing_file, (bit.bor(ffi.C.kO_CREAT, ffi.C.kO_EXCL)), 0))) end) it('sets `rwx` permissions for O_CREAT 700', function()