1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00

tst-fmemopen: Do not write test file in $srcdir.

This commit is contained in:
Roland McGrath
2010-04-19 13:48:00 -07:00
parent 1cdb2151fb
commit c98d4212d0
2 changed files with 17 additions and 6 deletions

View File

@ -1,3 +1,8 @@
2010-04-19 Roland McGrath <roland@redhat.com>
* stdio-common/tst-fmemopen.c (TEST_FILE): Macro removed.
(main): Take arguments. Construct test file name from ARGV[0].
2010-04-15 H.J. Lu <hongjiu.lu@intel.com> 2010-04-15 H.J. Lu <hongjiu.lu@intel.com>
* string/test-strncmp.c (check_result): New function. * string/test-strncmp.c (check_result): New function.

View File

@ -8,11 +8,10 @@
#include <sys/stat.h> #include <sys/stat.h>
#include <sys/types.h> #include <sys/types.h>
#define TEST_FILE "test-1"
int int
main (void) main (int argc, char **argv)
{ {
const char *test_file;
const char blah[] = "BLAH"; const char blah[] = "BLAH";
FILE *fp; FILE *fp;
char *mmap_data; char *mmap_data;
@ -20,8 +19,14 @@ main (void)
struct stat fs; struct stat fs;
const char *cp; const char *cp;
/* Construct the test file name based on ARGV[0], which will be
an absolute file name in the build directory. Don't touch the
source directory, which might be read-only. */
if (argc != 1 || asprintf (&test_file, "%s.test", argv[0]) < 0)
exit (99);
/* setup the physical file, and use it */ /* setup the physical file, and use it */
if ((fp = fopen (TEST_FILE, "w+")) == NULL) if ((fp = fopen (test_file, "w+")) == NULL)
exit (1); exit (1);
if (fwrite (blah, 1, strlen (blah), fp) != strlen (blah)) if (fwrite (blah, 1, strlen (blah), fp) != strlen (blah))
exit (2); exit (2);
@ -56,7 +61,7 @@ main (void)
fclose (fp); fclose (fp);
/* Now, mmap the file into a buffer, and do that too */ /* Now, mmap the file into a buffer, and do that too */
if ((fd = open (TEST_FILE, O_RDONLY)) == -1) if ((fd = open (test_file, O_RDONLY)) == -1)
exit (3); exit (3);
if (fstat (fd, &fs) == -1) if (fstat (fd, &fs) == -1)
exit (4); exit (4);
@ -105,7 +110,8 @@ main (void)
munmap (mmap_data, fs.st_size); munmap (mmap_data, fs.st_size);
unlink (TEST_FILE); unlink (test_file);
free (test_file);
return 0; return 0;
} }