public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: fweimer@redhat.com (Florian Weimer)
To: libc-alpha@sourceware.org
Subject: [PATCH] support_create_temp_directory: Align behavior with create_temp_file
Date: Fri, 17 Nov 2017 14:55:00 -0000	[thread overview]
Message-ID: <20171117145550.8B6324469B999@oldenburg.str.redhat.com> (raw)

create_temp_file automatically supplies the test directory and the
XXXXXX suffix.  support_create_temp_directory required the caller to
specify them, which was confusing.

2017-11-17  Florian Weimer  <fweimer@redhat.com>

	* support/temp_file.c (support_create_temp_directory): Use
	test_dir and do not rely on the presence of the XXXXXX suffix.
	* support/temp_file.h (support_create_temp_directory): Update
	comment.
	* support/tst-xreadlink.c (do_test): Adjust.

diff --git a/support/temp_file.c b/support/temp_file.c
index cbd54e2e17..547263a3e4 100644
--- a/support/temp_file.c
+++ b/support/temp_file.c
@@ -89,14 +89,14 @@ create_temp_file (const char *base, char **filename)
 char *
 support_create_temp_directory (const char *base)
 {
-  char *base_copy = xstrdup (base);
-  if (mkdtemp (base_copy) == NULL)
+  char *path = xasprintf ("%s/%sXXXXXX", test_dir, base);
+  if (mkdtemp (path) == NULL)
     {
-      printf ("error: mkdtemp (\"%s\"): %m", base);
+      printf ("error: mkdtemp (\"%s\"): %m", path);
       exit (1);
     }
-  add_temp_file (base_copy);
-  return base_copy;
+  add_temp_file (path);
+  return path;
 }
 
 /* Helper functions called by the test skeleton follow.  */
diff --git a/support/temp_file.h b/support/temp_file.h
index dfefe585de..3b8563e115 100644
--- a/support/temp_file.h
+++ b/support/temp_file.h
@@ -32,9 +32,9 @@ void add_temp_file (const char *name);
    *FILENAME.  */
 int create_temp_file (const char *base, char **filename);
 
-/* Create a temporary directory and schedule it for deletion.  BASE
-   must end with the six characters "XXXXXX".  Return the name of the
-   temporary directory.  The caller should free the string.  */
+/* Create a temporary directory and schedule it for deletion.  BASE is
+   used as a prefix for the unique directory name, which the function
+   returns.  The caller should free this string.  */
 char *support_create_temp_directory (const char *base);
 
 __END_DECLS
diff --git a/support/tst-xreadlink.c b/support/tst-xreadlink.c
index cb2c12a888..a4a22812c1 100644
--- a/support/tst-xreadlink.c
+++ b/support/tst-xreadlink.c
@@ -29,7 +29,7 @@
 static int
 do_test (void)
 {
-  char *dir = support_create_temp_directory ("/tmp/tst-xreadlink-XXXXXX");
+  char *dir = support_create_temp_directory ("tst-xreadlink-");
   char *symlink_name = xasprintf ("%s/symlink", dir);
   add_temp_file (symlink_name);
 

             reply	other threads:[~2017-11-17 14:55 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-17 14:55 Florian Weimer [this message]
2017-11-17 17:22 ` Jonathan Nieder
2017-11-18 12:38   ` Florian Weimer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171117145550.8B6324469B999@oldenburg.str.redhat.com \
    --to=fweimer@redhat.com \
    --cc=libc-alpha@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).