forked from Imagelibrary/rtems
2001-04-24 Joel Sherrill <joel@OARcorp.com>
* psxfile01/test.c, psxfile01/psxfile01.scn : Added test case for open, write, reopen, append twice from Andrew Bythell <abythell@nortelnetworks.com> that tripped an initialization problem in the IMFS.
This commit is contained in:
@@ -1,3 +1,10 @@
|
||||
2001-04-24 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* psxfile01/test.c, psxfile01/psxfile01.scn : Added test case for
|
||||
open, write, reopen, append twice from Andrew Bythell
|
||||
<abythell@nortelnetworks.com> that tripped an initialization
|
||||
problem in the IMFS.
|
||||
|
||||
2001-04-20 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* psx04/init.c, psx04/psx04.scn, psx07/init.c, psx07/psx07.scn,
|
||||
|
||||
@@ -197,5 +197,12 @@ truncate /tmp to length of 0 should fail with EISDIR
|
||||
........john (file 0)
|
||||
........j (file 0)
|
||||
*************** End of Dump ***************
|
||||
Writing First File
|
||||
Writing Second File
|
||||
(0)this is a test line
|
||||
this is a test line
|
||||
|
||||
(0)this is a test line
|
||||
this is a test line
|
||||
*** END OF FILE TEST 1 ***
|
||||
|
||||
|
||||
@@ -35,6 +35,8 @@
|
||||
#include <rtems.h>
|
||||
#include <rtems/libio.h>
|
||||
|
||||
void test_case_reopen_append(void);
|
||||
|
||||
char test_write_buffer[ 1024 ];
|
||||
|
||||
/*
|
||||
@@ -498,8 +500,48 @@ int main(
|
||||
|
||||
rtems_status = rtems_io_register_name( "/dev/console", 0, 0 );
|
||||
|
||||
test_case_reopen_append();
|
||||
|
||||
printf( "*** END OF FILE TEST 1 ***\n" );
|
||||
exit( 0 );
|
||||
}
|
||||
|
||||
/*
|
||||
* Open/Create a File and write to it
|
||||
*
|
||||
* Test case submitted by Andrew Bythell <abythell@nortelnetworks.com>.
|
||||
*
|
||||
*/
|
||||
|
||||
void test_file (char *filename, char *mode);
|
||||
|
||||
void test_case_reopen_append(void)
|
||||
{
|
||||
printf ("Writing First File\n");
|
||||
test_file ("/one.txt", "a");
|
||||
test_file ("/one.txt", "a");
|
||||
|
||||
/* but not the second time - this will insert junk.
|
||||
the number of ^@'s seems to equal the number of
|
||||
actual characters in the file */
|
||||
|
||||
printf ("Writing Second File\n");
|
||||
test_file ("/two.txt", "a");
|
||||
test_file ("/two.txt", "a");
|
||||
|
||||
test_cat( "/one.txt", 0, 1024 );
|
||||
test_cat( "/two.txt", 0, 1024 );
|
||||
}
|
||||
|
||||
void test_file (char *filename, char *mode)
|
||||
{
|
||||
FILE *fp;
|
||||
fp = fopen (filename, mode);
|
||||
if (!fp)
|
||||
perror ("fopen");
|
||||
fprintf (fp, "this is a test line\n");
|
||||
if (fclose (fp))
|
||||
perror ("fclose");
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
2001-04-24 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* psxfile01/test.c, psxfile01/psxfile01.scn : Added test case for
|
||||
open, write, reopen, append twice from Andrew Bythell
|
||||
<abythell@nortelnetworks.com> that tripped an initialization
|
||||
problem in the IMFS.
|
||||
|
||||
2001-04-20 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* psx04/init.c, psx04/psx04.scn, psx07/init.c, psx07/psx07.scn,
|
||||
|
||||
@@ -197,5 +197,12 @@ truncate /tmp to length of 0 should fail with EISDIR
|
||||
........john (file 0)
|
||||
........j (file 0)
|
||||
*************** End of Dump ***************
|
||||
Writing First File
|
||||
Writing Second File
|
||||
(0)this is a test line
|
||||
this is a test line
|
||||
|
||||
(0)this is a test line
|
||||
this is a test line
|
||||
*** END OF FILE TEST 1 ***
|
||||
|
||||
|
||||
@@ -35,6 +35,8 @@
|
||||
#include <rtems.h>
|
||||
#include <rtems/libio.h>
|
||||
|
||||
void test_case_reopen_append(void);
|
||||
|
||||
char test_write_buffer[ 1024 ];
|
||||
|
||||
/*
|
||||
@@ -498,8 +500,48 @@ int main(
|
||||
|
||||
rtems_status = rtems_io_register_name( "/dev/console", 0, 0 );
|
||||
|
||||
test_case_reopen_append();
|
||||
|
||||
printf( "*** END OF FILE TEST 1 ***\n" );
|
||||
exit( 0 );
|
||||
}
|
||||
|
||||
/*
|
||||
* Open/Create a File and write to it
|
||||
*
|
||||
* Test case submitted by Andrew Bythell <abythell@nortelnetworks.com>.
|
||||
*
|
||||
*/
|
||||
|
||||
void test_file (char *filename, char *mode);
|
||||
|
||||
void test_case_reopen_append(void)
|
||||
{
|
||||
printf ("Writing First File\n");
|
||||
test_file ("/one.txt", "a");
|
||||
test_file ("/one.txt", "a");
|
||||
|
||||
/* but not the second time - this will insert junk.
|
||||
the number of ^@'s seems to equal the number of
|
||||
actual characters in the file */
|
||||
|
||||
printf ("Writing Second File\n");
|
||||
test_file ("/two.txt", "a");
|
||||
test_file ("/two.txt", "a");
|
||||
|
||||
test_cat( "/one.txt", 0, 1024 );
|
||||
test_cat( "/two.txt", 0, 1024 );
|
||||
}
|
||||
|
||||
void test_file (char *filename, char *mode)
|
||||
{
|
||||
FILE *fp;
|
||||
fp = fopen (filename, mode);
|
||||
if (!fp)
|
||||
perror ("fopen");
|
||||
fprintf (fp, "this is a test line\n");
|
||||
if (fclose (fp))
|
||||
perror ("fclose");
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user