summaryrefslogtreecommitdiffstats
path: root/testsuites
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2001-04-24 23:04:59 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2001-04-24 23:04:59 +0000
commitb2a1ea3a526d32c4f19669913a56f018ccf26a01 (patch)
tree7476cc068e35d60679011918866180cdd35dc07c /testsuites
parent126405d9ef4e85de6b2d867397f17b925dc18058 (diff)
downloadrtems-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 'testsuites')
-rw-r--r--testsuites/psxtests/ChangeLog7
-rw-r--r--testsuites/psxtests/psxfile01/psxfile01.scn7
-rw-r--r--testsuites/psxtests/psxfile01/test.c42
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");
+}
+