forked from cory/tildefriends
libuv 1.47.0.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4615 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
68
deps/libuv/test/test-env-vars.c
vendored
68
deps/libuv/test/test-env-vars.c
vendored
@@ -35,83 +35,83 @@ TEST_IMPL(env_vars) {
|
||||
|
||||
/* Reject invalid inputs when setting an environment variable */
|
||||
r = uv_os_setenv(NULL, "foo");
|
||||
ASSERT(r == UV_EINVAL);
|
||||
ASSERT_EQ(r, UV_EINVAL);
|
||||
r = uv_os_setenv(name, NULL);
|
||||
ASSERT(r == UV_EINVAL);
|
||||
ASSERT_EQ(r, UV_EINVAL);
|
||||
r = uv_os_setenv(NULL, NULL);
|
||||
ASSERT(r == UV_EINVAL);
|
||||
ASSERT_EQ(r, UV_EINVAL);
|
||||
|
||||
/* Reject invalid inputs when retrieving an environment variable */
|
||||
size = BUF_SIZE;
|
||||
r = uv_os_getenv(NULL, buf, &size);
|
||||
ASSERT(r == UV_EINVAL);
|
||||
ASSERT_EQ(r, UV_EINVAL);
|
||||
r = uv_os_getenv(name, NULL, &size);
|
||||
ASSERT(r == UV_EINVAL);
|
||||
ASSERT_EQ(r, UV_EINVAL);
|
||||
r = uv_os_getenv(name, buf, NULL);
|
||||
ASSERT(r == UV_EINVAL);
|
||||
ASSERT_EQ(r, UV_EINVAL);
|
||||
size = 0;
|
||||
r = uv_os_getenv(name, buf, &size);
|
||||
ASSERT(r == UV_EINVAL);
|
||||
ASSERT_EQ(r, UV_EINVAL);
|
||||
|
||||
/* Reject invalid inputs when deleting an environment variable */
|
||||
r = uv_os_unsetenv(NULL);
|
||||
ASSERT(r == UV_EINVAL);
|
||||
ASSERT_EQ(r, UV_EINVAL);
|
||||
|
||||
/* Successfully set an environment variable */
|
||||
r = uv_os_setenv(name, "123456789");
|
||||
ASSERT(r == 0);
|
||||
ASSERT_OK(r);
|
||||
|
||||
/* Successfully read an environment variable */
|
||||
size = BUF_SIZE;
|
||||
buf[0] = '\0';
|
||||
r = uv_os_getenv(name, buf, &size);
|
||||
ASSERT(r == 0);
|
||||
ASSERT(strcmp(buf, "123456789") == 0);
|
||||
ASSERT(size == BUF_SIZE - 1);
|
||||
ASSERT_OK(r);
|
||||
ASSERT_OK(strcmp(buf, "123456789"));
|
||||
ASSERT_EQ(size, BUF_SIZE - 1);
|
||||
|
||||
/* Return UV_ENOBUFS if the buffer cannot hold the environment variable */
|
||||
size = BUF_SIZE - 1;
|
||||
buf[0] = '\0';
|
||||
r = uv_os_getenv(name, buf, &size);
|
||||
ASSERT(r == UV_ENOBUFS);
|
||||
ASSERT(size == BUF_SIZE);
|
||||
ASSERT_EQ(r, UV_ENOBUFS);
|
||||
ASSERT_EQ(size, BUF_SIZE);
|
||||
|
||||
/* Successfully delete an environment variable */
|
||||
r = uv_os_unsetenv(name);
|
||||
ASSERT(r == 0);
|
||||
ASSERT_OK(r);
|
||||
|
||||
/* Return UV_ENOENT retrieving an environment variable that does not exist */
|
||||
r = uv_os_getenv(name, buf, &size);
|
||||
ASSERT(r == UV_ENOENT);
|
||||
ASSERT_EQ(r, UV_ENOENT);
|
||||
|
||||
/* Successfully delete an environment variable that does not exist */
|
||||
r = uv_os_unsetenv(name);
|
||||
ASSERT(r == 0);
|
||||
ASSERT_OK(r);
|
||||
|
||||
/* Setting an environment variable to the empty string does not delete it. */
|
||||
r = uv_os_setenv(name, "");
|
||||
ASSERT(r == 0);
|
||||
ASSERT_OK(r);
|
||||
size = BUF_SIZE;
|
||||
r = uv_os_getenv(name, buf, &size);
|
||||
ASSERT(r == 0);
|
||||
ASSERT(size == 0);
|
||||
ASSERT(strlen(buf) == 0);
|
||||
ASSERT_OK(r);
|
||||
ASSERT_OK(size);
|
||||
ASSERT_OK(strlen(buf));
|
||||
|
||||
/* Check getting all env variables. */
|
||||
r = uv_os_setenv(name, "123456789");
|
||||
ASSERT(r == 0);
|
||||
ASSERT_OK(r);
|
||||
r = uv_os_setenv(name2, "");
|
||||
ASSERT(r == 0);
|
||||
ASSERT_OK(r);
|
||||
#ifdef _WIN32
|
||||
/* Create a special environment variable on Windows in case there are no
|
||||
naturally occurring ones. */
|
||||
r = uv_os_setenv("=Z:", "\\");
|
||||
ASSERT(r == 0);
|
||||
ASSERT_OK(r);
|
||||
#endif
|
||||
|
||||
r = uv_os_environ(&envitems, &envcount);
|
||||
ASSERT(r == 0);
|
||||
ASSERT(envcount > 0);
|
||||
ASSERT_OK(r);
|
||||
ASSERT_GT(envcount, 0);
|
||||
|
||||
found = 0;
|
||||
found_win_special = 0;
|
||||
@@ -120,16 +120,16 @@ TEST_IMPL(env_vars) {
|
||||
/* printf("Env: %s = %s\n", envitems[i].name, envitems[i].value); */
|
||||
if (strcmp(envitems[i].name, name) == 0) {
|
||||
found++;
|
||||
ASSERT(strcmp(envitems[i].value, "123456789") == 0);
|
||||
ASSERT_OK(strcmp(envitems[i].value, "123456789"));
|
||||
} else if (strcmp(envitems[i].name, name2) == 0) {
|
||||
found++;
|
||||
ASSERT(strlen(envitems[i].value) == 0);
|
||||
ASSERT_OK(strlen(envitems[i].value));
|
||||
} else if (envitems[i].name[0] == '=') {
|
||||
found_win_special++;
|
||||
}
|
||||
}
|
||||
|
||||
ASSERT(found == 2);
|
||||
ASSERT_EQ(2, found);
|
||||
#ifdef _WIN32
|
||||
ASSERT_GT(found_win_special, 0);
|
||||
#else
|
||||
@@ -140,10 +140,10 @@ TEST_IMPL(env_vars) {
|
||||
uv_os_free_environ(envitems, envcount);
|
||||
|
||||
r = uv_os_unsetenv(name);
|
||||
ASSERT(r == 0);
|
||||
ASSERT_OK(r);
|
||||
|
||||
r = uv_os_unsetenv(name2);
|
||||
ASSERT(r == 0);
|
||||
ASSERT_OK(r);
|
||||
|
||||
for (i = 1; i <= 4; i++) {
|
||||
size_t n;
|
||||
@@ -158,14 +158,14 @@ TEST_IMPL(env_vars) {
|
||||
memset(p, 'x', n);
|
||||
p[n] = '\0';
|
||||
|
||||
ASSERT_EQ(0, uv_os_setenv(name, p));
|
||||
ASSERT_EQ(0, uv_os_getenv(name, p, &size));
|
||||
ASSERT_OK(uv_os_setenv(name, p));
|
||||
ASSERT_OK(uv_os_getenv(name, p, &size));
|
||||
ASSERT_EQ(n, size);
|
||||
|
||||
for (n = 0; n < size; n++)
|
||||
ASSERT_EQ('x', p[n]);
|
||||
|
||||
ASSERT_EQ(0, uv_os_unsetenv(name));
|
||||
ASSERT_OK(uv_os_unsetenv(name));
|
||||
free(p);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user