forked from Imagelibrary/rtems
Files only used by psxfile01, so moved there.
This commit is contained in:
@@ -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
|
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
AUTOMAKE_OPTIONS = foreign 1.4
|
AUTOMAKE_OPTIONS = foreign 1.4
|
||||||
|
|
||||||
VPATH = @srcdir@:@srcdir@/../filesupp
|
VPATH = @srcdir@
|
||||||
|
|
||||||
TEST = psxfile01
|
TEST = psxfile01
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
AUTOMAKE_OPTIONS = foreign 1.4
|
AUTOMAKE_OPTIONS = foreign 1.4
|
||||||
|
|
||||||
VPATH = @srcdir@:@srcdir@/../filesupp
|
VPATH = @srcdir@
|
||||||
|
|
||||||
TEST = psxfile01
|
TEST = psxfile01
|
||||||
|
|
||||||
|
|||||||
81
testsuites/psxtests/psxfile01/test_cat.c
Normal file
81
testsuites/psxtests/psxfile01/test_cat.c
Normal file
@@ -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 );
|
||||||
|
}
|
||||||
60
testsuites/psxtests/psxfile01/test_extend.c
Normal file
60
testsuites/psxtests/psxfile01/test_extend.c
Normal file
@@ -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 );
|
||||||
|
}
|
||||||
59
testsuites/psxtests/psxfile01/test_write.c
Normal file
59
testsuites/psxtests/psxfile01/test_write.c
Normal file
@@ -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 );
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user