From e8c4c329e69fff1b656c833883997ac663ea48ef Mon Sep 17 00:00:00 2001 From: Bert Belder Date: Thu, 11 Dec 2014 17:12:04 +0100 Subject: [PATCH] test: fix test-cwd-and-chdir MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-By: Saúl Ibarra Corretgé --- test/test-cwd-and-chdir.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/test/test-cwd-and-chdir.c b/test/test-cwd-and-chdir.c index 6f617319..08ca1ed7 100644 --- a/test/test-cwd-and-chdir.c +++ b/test/test-cwd-and-chdir.c @@ -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;