diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2001-04-24 23:04:59 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2001-04-24 23:04:59 +0000 |
commit | b2a1ea3a526d32c4f19669913a56f018ccf26a01 (patch) | |
tree | 7476cc068e35d60679011918866180cdd35dc07c /testsuites/psxtests | |
parent | 2000-04-24 Eric Norum <eric.norum@usask.ca> (diff) | |
download | rtems-b2a1ea3a526d32c4f19669913a56f018ccf26a01.tar.bz2 |
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.
Diffstat (limited to '')
-rw-r--r-- | testsuites/psxtests/ChangeLog | 7 | ||||
-rw-r--r-- | testsuites/psxtests/psxfile01/psxfile01.scn | 7 | ||||
-rw-r--r-- | testsuites/psxtests/psxfile01/test.c | 42 |
3 files changed, 56 insertions, 0 deletions
diff --git a/testsuites/psxtests/ChangeLog b/testsuites/psxtests/ChangeLog index 0082d26481..6a8de5c4dd 100644 --- a/testsuites/psxtests/ChangeLog +++ b/testsuites/psxtests/ChangeLog @@ -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, diff --git a/testsuites/psxtests/psxfile01/psxfile01.scn b/testsuites/psxtests/psxfile01/psxfile01.scn index 2b77e81470..6c4e7ef25b 100644 --- a/testsuites/psxtests/psxfile01/psxfile01.scn +++ b/testsuites/psxtests/psxfile01/psxfile01.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 *** diff --git a/testsuites/psxtests/psxfile01/test.c b/testsuites/psxtests/psxfile01/test.c index d935babd9f..4f42e32a38 100644 --- a/testsuites/psxtests/psxfile01/test.c +++ b/testsuites/psxtests/psxfile01/test.c @@ -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"); +} + |