test: fix test-cwd-and-chdir
The test used to call uv_cwd() twice, in this fashion: char buf[PATH_MAX]; size_t size = sizeof buf; uv_cwd(buf, &size); uv_cwd(buf, &size); The `size` variable is supposed to contain the buffer size (including terminating null) on input, and it is also used as an out parameter for returning the actual length of the working directory (not including the terminating null). This makes the second uv_cwd() call fail with UV_ENOBUFS. PR-URL: https://github.com/libuv/libuv/pull/54 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
This commit is contained in:
parent
cb2f6a9743
commit
e8c4c329e6
@ -29,12 +29,13 @@ extern char executable_path[];
|
||||
TEST_IMPL(cwd_and_chdir) {
|
||||
char buffer_orig[PATHMAX];
|
||||
char buffer_new[PATHMAX];
|
||||
size_t size;
|
||||
size_t size1;
|
||||
size_t size2;
|
||||
char* last_slash;
|
||||
int err;
|
||||
|
||||
size = sizeof(buffer_orig);
|
||||
err = uv_cwd(buffer_orig, &size);
|
||||
size1 = sizeof buffer_orig;
|
||||
err = uv_cwd(buffer_orig, &size1);
|
||||
ASSERT(err == 0);
|
||||
|
||||
/* Remove trailing slash unless at a root directory. */
|
||||
@ -55,9 +56,11 @@ TEST_IMPL(cwd_and_chdir) {
|
||||
err = uv_chdir(buffer_orig);
|
||||
ASSERT(err == 0);
|
||||
|
||||
err = uv_cwd(buffer_new, &size);
|
||||
size2 = sizeof buffer_new;
|
||||
err = uv_cwd(buffer_new, &size2);
|
||||
ASSERT(err == 0);
|
||||
|
||||
ASSERT(size1 == size2);
|
||||
ASSERT(strcmp(buffer_orig, buffer_new) == 0);
|
||||
|
||||
return 0;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user