<div dir="ltr"><div>From 5e543e3a0ae730b1833c8a4d5d9a5bf28273256d Mon Sep 17 00:00:00 2001<br></div>From: JayRJoshi <<a href="mailto:jay.r.joshi100@gmail.com">jay.r.joshi100@gmail.com</a>><br>Date: Tue, 15 Mar 2016 16:41:39 +0530<br>Subject: [PATCH] Test for getcwd (getcwd.c, getcwd.expected, getcwd.test)<br> added<br><br>---<br> tests/.gitignore      |  1 +<br> tests/Makefile.am     |  2 ++<br> tests/getcwd.c        | 36 ++++++++++++++++++++++++++++++++++++<br> tests/getcwd.expected |  2 ++<br> tests/getcwd.test     |  9 +++++++++<br> 5 files changed, 50 insertions(+)<br> create mode 100644 tests/getcwd.c<br> create mode 100644 tests/getcwd.expected<br> create mode 100755 tests/getcwd.test<br><br>diff --git a/tests/.gitignore b/tests/.gitignore<br>index b89796a..52eb76d 100644<br>--- a/tests/.gitignore<br>+++ b/tests/.gitignore<br>@@ -41,6 +41,7 @@ fstat64<br> fstatat64<br> ftruncate<br> ftruncate64<br>+getcwd<br> getdents<br> getdents64<br> getrandom<br>diff --git a/tests/Makefile.am b/tests/Makefile.am<br>index 59e7e78..81ad778 100644<br>--- a/tests/Makefile.am<br>+++ b/tests/Makefile.am<br>@@ -91,6 +91,7 @@ check_PROGRAMS = \<br>  fstatat64 \<br>  ftruncate \<br>  ftruncate64 \<br>+ getcwd \<br>  getdents \<br>  getdents64 \<br>  getrandom \<br>@@ -264,6 +265,7 @@ TESTS = \<br>  fstatat64.test \<br>  ftruncate.test \<br>  ftruncate64.test \<br>+ getcwd.test \<br>  getdents.test \<br>  getdents64.test \<br>  getrandom.test \<br>diff --git a/tests/getcwd.c b/tests/getcwd.c<br>new file mode 100644<br>index 0000000..f2b4651<br>--- /dev/null<br>+++ b/tests/getcwd.c<br>@@ -0,0 +1,36 @@<br>+#include "tests.h"<br>+<br>+#include <sys/stat.h><br>+#include <stdio.h><br>+#include <unistd.h><br>+#include <errno.h><br>+<br>+<br>+int<br>+main(void)<br>+{<br>+  char cur_dir[32];<br>+<br>+  if (mkdir("/tmp/sample_dir", S_IRWXU) == -1)<br>+    perror_msg_and_skip("mkdir");<br>+<br>+  if (chdir("/tmp/sample_dir") == -1)<br>+    perror_msg_and_skip("chdir");<br>+<br>+  if (getcwd(cur_dir, sizeof(cur_dir)) != NULL) {<br>+    printf("getcwd(\"/tmp/sample_dir\", 32) = 16\n");<br>+  } else {<br>+    perror_msg_and_fail("getcwd");<br>+  }<br>+<br>+  if (rmdir(cur_dir) == -1)<br>+    perror_msg_and_skip("rmdir");<br>+<br>+  if (getcwd(cur_dir, sizeof(cur_dir)) != NULL) {<br>+    printf("getcwd(\"/tmp/sample_dir\", 32) = 16\n");<br>+  } else {<br>+    printf("getcwd(\"0x0123456789ab, 32) = -1 ENOENT (%m)\n");<br>+  }<br>+<br>+  return 0;<br>+}<br>diff --git a/tests/getcwd.expected b/tests/getcwd.expected<br>new file mode 100644<br>index 0000000..23bc26b<br>--- /dev/null<br>+++ b/tests/getcwd.expected<br>@@ -0,0 +1,2 @@<br>+getcwd\(\"/tmp/sample_dir\", 32\) += 16<br>+getcwd\(0x[0-9a-f]+, 32\) += -1 ENOENT \(No such file or directory\)<br>diff --git a/tests/getcwd.test b/tests/getcwd.test<br>new file mode 100755<br>index 0000000..03fabb1<br>--- /dev/null<br>+++ b/tests/getcwd.test<br>@@ -0,0 +1,9 @@<br>+#!/bin/sh<br>+<br>+. "${srcdir=.}/init.sh"<br>+<br>+run_prog > /dev/null<br>+run_strace -egetcwd $args<br>+match_grep<br>+<br>+exit 0<br>-- <br>1.9.1<br></div>