summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1999-11-23 13:43:34 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1999-11-23 13:43:34 +0000
commita23cad6aa055bbe1a9475a38ab35010f580671b1 (patch)
tree78abbb4b5ad2a260d72b659dbf0909679e4851b7
parentTest psxfile02 unused and removed. (diff)
downloadrtems-a23cad6aa055bbe1a9475a38ab35010f580671b1.tar.bz2
Files only used by psxfile01, so moved there.
-rw-r--r--c/src/tests/psxtests/filesupp/Makefile.am9
-rw-r--r--c/src/tests/psxtests/psxfile01/Makefile.am2
-rw-r--r--c/src/tests/psxtests/psxfile01/test_cat.c (renamed from c/src/tests/psxtests/filesupp/test_cat.c)0
-rw-r--r--c/src/tests/psxtests/psxfile01/test_extend.c (renamed from c/src/tests/psxtests/filesupp/test_extend.c)0
-rw-r--r--c/src/tests/psxtests/psxfile01/test_write.c (renamed from c/src/tests/psxtests/filesupp/test_write.c)0
-rw-r--r--testsuites/psxtests/psxfile01/Makefile.am2
-rw-r--r--testsuites/psxtests/psxfile01/test_cat.c81
-rw-r--r--testsuites/psxtests/psxfile01/test_extend.c60
-rw-r--r--testsuites/psxtests/psxfile01/test_write.c59
9 files changed, 202 insertions, 11 deletions
diff --git a/c/src/tests/psxtests/filesupp/Makefile.am b/c/src/tests/psxtests/filesupp/Makefile.am
deleted file mode 100644
index 21dbe5b354..0000000000
--- a/c/src/tests/psxtests/filesupp/Makefile.am
+++ /dev/null
@@ -1,9 +0,0 @@
-##
-## $Id$
-##
-
-AUTOMAKE_OPTIONS = foreign 1.4
-
-EXTRA_DIST = test_cat.c test_extend.c test_write.c
-
-include $(top_srcdir)/../../../../automake/local.am
diff --git a/c/src/tests/psxtests/psxfile01/Makefile.am b/c/src/tests/psxtests/psxfile01/Makefile.am
index 4e75d556dc..48c50f9a9f 100644
--- a/c/src/tests/psxtests/psxfile01/Makefile.am
+++ b/c/src/tests/psxtests/psxfile01/Makefile.am
@@ -4,7 +4,7 @@
AUTOMAKE_OPTIONS = foreign 1.4
-VPATH = @srcdir@:@srcdir@/../filesupp
+VPATH = @srcdir@
TEST = psxfile01
diff --git a/c/src/tests/psxtests/filesupp/test_cat.c b/c/src/tests/psxtests/psxfile01/test_cat.c
index f6daecfad7..f6daecfad7 100644
--- a/c/src/tests/psxtests/filesupp/test_cat.c
+++ b/c/src/tests/psxtests/psxfile01/test_cat.c
diff --git a/c/src/tests/psxtests/filesupp/test_extend.c b/c/src/tests/psxtests/psxfile01/test_extend.c
index ae284aab46..ae284aab46 100644
--- a/c/src/tests/psxtests/filesupp/test_extend.c
+++ b/c/src/tests/psxtests/psxfile01/test_extend.c
diff --git a/c/src/tests/psxtests/filesupp/test_write.c b/c/src/tests/psxtests/psxfile01/test_write.c
index c025734532..c025734532 100644
--- a/c/src/tests/psxtests/filesupp/test_write.c
+++ b/c/src/tests/psxtests/psxfile01/test_write.c
diff --git a/testsuites/psxtests/psxfile01/Makefile.am b/testsuites/psxtests/psxfile01/Makefile.am
index 4e75d556dc..48c50f9a9f 100644
--- a/testsuites/psxtests/psxfile01/Makefile.am
+++ b/testsuites/psxtests/psxfile01/Makefile.am
@@ -4,7 +4,7 @@
AUTOMAKE_OPTIONS = foreign 1.4
-VPATH = @srcdir@:@srcdir@/../filesupp
+VPATH = @srcdir@
TEST = psxfile01
diff --git a/testsuites/psxtests/psxfile01/test_cat.c b/testsuites/psxtests/psxfile01/test_cat.c
new file mode 100644
index 0000000000..f6daecfad7
--- /dev/null
+++ b/testsuites/psxtests/psxfile01/test_cat.c
@@ -0,0 +1,81 @@
+/*
+ * A test support function which performs a crude version of
+ * "cat" so you can look at specific parts of a file.
+ *
+ * $Id$
+ */
+
+#include <stdio.h>
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <errno.h>
+#include <string.h>
+#include <ctype.h>
+
+#include <assert.h>
+
+/*
+ * test_cat routine
+ */
+
+unsigned char test_cat_buffer[ 1024 ];
+
+void test_cat(
+ char *file,
+ int offset_arg,
+ int length
+)
+{
+ int fd;
+ int status;
+ int is_printable = 0;
+ int my_length;
+ int i;
+ unsigned char c;
+ int count = 0;
+ off_t offset = (off_t)offset_arg;
+
+ my_length = (length) ? length : sizeof( test_cat_buffer );
+ assert( my_length <= sizeof( test_cat_buffer ) );
+
+ fd = open( file, O_RDONLY );
+ if ( fd == -1 ) {
+ printf( "test_cat: open( %s ) failed : %s\n", file, strerror( errno ) );
+ exit( 0 );
+ }
+
+ for ( ;; ) {
+ status = lseek( fd, offset, SEEK_SET );
+ assert( status != -1 );
+
+ status = read( fd, test_cat_buffer, sizeof(test_cat_buffer) );
+ if ( status <= 0 ) {
+ if (!is_printable)
+ printf( "(%d)", count );
+ puts( "" );
+ break;
+ }
+
+ for ( i=0 ; i<status ; i++ ) {
+ c = test_cat_buffer[i];
+ if (isprint(c) || isspace(c)) {
+ if (!is_printable) {
+ printf( "(%d)", count );
+ count = 0;
+ is_printable = 1;
+ }
+ putchar(c);
+ } else {
+ is_printable = 0;
+ count++;
+ }
+ }
+ offset += status;
+ }
+
+ status = close( fd );
+ assert( !status );
+}
diff --git a/testsuites/psxtests/psxfile01/test_extend.c b/testsuites/psxtests/psxfile01/test_extend.c
new file mode 100644
index 0000000000..ae284aab46
--- /dev/null
+++ b/testsuites/psxtests/psxfile01/test_extend.c
@@ -0,0 +1,60 @@
+/*
+ * A test support function which extends the file to the specified
+ * length. This handles the implied open(), lseek(), write(), and close()
+ * operations.
+ *
+ * The defined behavior is a seek() followed by a write() extends the file
+ * and zero fills the new length part.
+ *
+ * $Id$
+ */
+
+#include <stdio.h>
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <errno.h>
+#include <string.h>
+#include <ctype.h>
+
+#include <assert.h>
+
+/*
+ * test_extend routine
+ */
+
+void test_extend(
+ char *file,
+ off_t offset
+)
+{
+ int fd;
+ int status;
+ char c = 0;
+
+ fd = open( file, O_WRONLY );
+ if ( fd == -1 ) {
+ printf( "test_extend: open( %s ) failed : %s\n", file, strerror( errno ) );
+ exit( 0 );
+ }
+
+ status = lseek( fd, offset - 1, SEEK_SET );
+ assert( status != -1 );
+
+ status = write( fd, &c, 1 );
+ if ( status == -1 ) {
+ printf( "test_extend: write( %s ) failed : %s\n", file, strerror( errno ) );
+ exit( 0 );
+ }
+
+ if ( status != 1 ) {
+ printf( "test_extend: write( %s ) only wrote %d of %d bytes\n",
+ file, status, 1 );
+ exit( 0 );
+ }
+
+ status = close( fd );
+ assert( !status );
+}
diff --git a/testsuites/psxtests/psxfile01/test_write.c b/testsuites/psxtests/psxfile01/test_write.c
new file mode 100644
index 0000000000..c025734532
--- /dev/null
+++ b/testsuites/psxtests/psxfile01/test_write.c
@@ -0,0 +1,59 @@
+/*
+ * A test support function which performs a write() and
+ * handles implied open(), lseek(), write(), and close() operations.
+ *
+ * $Id$
+ */
+
+#include <stdio.h>
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <errno.h>
+#include <string.h>
+
+#include <assert.h>
+
+/*
+ * test_write routine
+ */
+
+void test_write(
+ char *file,
+ off_t offset,
+ char *buffer
+)
+{
+ int fd;
+ int status;
+ int length;
+
+
+ length = strlen( buffer );
+
+ fd = open( file, O_WRONLY );
+ if ( fd == -1 ) {
+ printf( "test_write: open( %s ) failed : %s\n", file, strerror( errno ) );
+ exit( 0 );
+ }
+
+ status = lseek( fd, offset, SEEK_SET );
+ assert( status != -1 );
+
+ status = write( fd, buffer, length );
+ if ( status == -1 ) {
+ printf( "test_write: write( %s ) failed : %s\n", file, strerror( errno ) );
+ exit( 0 );
+ }
+
+ if ( status != length ) {
+ printf( "test_write: write( %s ) only wrote %d of %d bytes\n",
+ file, status, length );
+ exit( 0 );
+ }
+
+ status = close( fd );
+ assert( !status );
+}