diff options
Diffstat (limited to 'test/unit/os/env_spec.moon')
-rw-r--r-- | test/unit/os/env_spec.moon | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/test/unit/os/env_spec.moon b/test/unit/os/env_spec.moon deleted file mode 100644 index ab5b940a58..0000000000 --- a/test/unit/os/env_spec.moon +++ /dev/null @@ -1,106 +0,0 @@ -{:cimport, :internalize, :eq, :ffi, :lib, :cstr, :to_cstr, :NULL} = require 'test.unit.helpers' -require 'lfs' - -env = cimport './src/nvim/os/os.h' - -describe 'env function', -> - - os_setenv = (name, value, override) -> - env.os_setenv (to_cstr name), (to_cstr value), override - - os_getenv = (name) -> - rval = env.os_getenv (to_cstr name) - if rval != NULL - ffi.string rval - else - NULL - - describe 'os_setenv', -> - - OK = 0 - - it 'sets an env variable and returns OK', -> - name = 'NEOVIM_UNIT_TEST_SETENV_1N' - value = 'NEOVIM_UNIT_TEST_SETENV_1V' - eq nil, os.getenv name - eq OK, (os_setenv name, value, 1) - eq value, os.getenv name - - it "dosn't overwrite an env variable if overwrite is 0", -> - name = 'NEOVIM_UNIT_TEST_SETENV_2N' - value = 'NEOVIM_UNIT_TEST_SETENV_2V' - value_updated = 'NEOVIM_UNIT_TEST_SETENV_2V_UPDATED' - eq OK, (os_setenv name, value, 0) - eq value, os.getenv name - eq OK, (os_setenv name, value_updated, 0) - eq value, os.getenv name - - describe 'os_getenv', -> - - it 'reads an env variable', -> - name = 'NEOVIM_UNIT_TEST_GETENV_1N' - value = 'NEOVIM_UNIT_TEST_GETENV_1V' - eq NULL, os_getenv name - -- need to use os_setenv, because lua dosn't have a setenv function - os_setenv name, value, 1 - eq value, os_getenv name - - it 'returns NULL if the env variable is not found', -> - name = 'NEOVIM_UNIT_TEST_GETENV_NOTFOUND' - eq NULL, os_getenv name - - describe 'os_getenvname_at_index', -> - - it 'returns names of environment variables', -> - test_name = 'NEOVIM_UNIT_TEST_GETENVNAME_AT_INDEX_1N' - test_value = 'NEOVIM_UNIT_TEST_GETENVNAME_AT_INDEX_1V' - os_setenv test_name, test_value, 1 - i = 0 - names = {} - found_name = false - name = env.os_getenvname_at_index i - while name != NULL - table.insert names, ffi.string name - if (ffi.string name) == test_name - found_name = true - i += 1 - name = env.os_getenvname_at_index i - - eq true, (table.getn names) > 0 - eq true, found_name - - it 'returns NULL if the index is out of bounds', -> - huge = ffi.new 'size_t', 10000 - maxuint32 = ffi.new 'size_t', 4294967295 - eq NULL, env.os_getenvname_at_index huge - eq NULL, env.os_getenvname_at_index maxuint32 - if ffi.abi '64bit' - -- couldn't use a bigger number because it gets converted to - -- double somewere, should be big enough anyway - -- maxuint64 = ffi.new 'size_t', 18446744073709551615 - maxuint64 = ffi.new 'size_t', 18446744073709000000 - eq NULL, env.os_getenvname_at_index maxuint64 - - describe 'os_get_pid', -> - - it 'returns the process ID', -> - stat_file = io.open '/proc/self/stat' - if stat_file - stat_str = stat_file\read '*l' - stat_file\close! - pid = tonumber (stat_str\match '%d+') - eq pid, tonumber env.os_get_pid! - else - -- /proc is not available on all systems, test if pid is nonzero. - eq true, (env.os_get_pid! > 0) - - describe 'os_get_hostname', -> - - it 'returns the hostname', -> - handle = io.popen 'hostname' - hostname = handle\read '*l' - handle\close! - hostname_buf = cstr 255, '' - env.os_get_hostname hostname_buf, 255 - eq hostname, (ffi.string hostname_buf) - |