support_create_temp_directory: Align behavior with create_temp_file

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.

Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
This commit is contained in:
Florian Weimer 2017-11-18 14:11:09 +01:00
parent df0c40ee3a
commit 8adfb0eeff
5 changed files with 19 additions and 15 deletions

View File

@ -1,3 +1,12 @@
2017-11-18 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.
* support/support_chroot.c (support_chroot_create): Likewise.
2017-11-17 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
* sysdeps/powerpc/bits/hwcap.h (PPC_FEATURE2_HTM_NO_SUSPEND): New

View File

@ -45,12 +45,7 @@ struct support_chroot *
support_chroot_create (struct support_chroot_configuration conf)
{
struct support_chroot *chroot = xmalloc (sizeof (*chroot));
{
char *template = xasprintf ("%s/tst-resolv-res_init-XXXXXX", test_dir);
chroot->path_chroot = support_create_temp_directory (template);
free (template);
}
chroot->path_chroot = support_create_temp_directory ("tst-resolv-res_init-");
/* Create the /etc directory in the chroot environment. */
char *path_etc = xasprintf ("%s/etc", chroot->path_chroot);

View File

@ -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. */

View File

@ -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

View File

@ -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);