diff options
Diffstat (limited to 'testsuites/libtests')
-rw-r--r-- | testsuites/libtests/ftp01/ftp01.scn | 4 | ||||
-rw-r--r-- | testsuites/libtests/ftp01/init.c | 26 | ||||
-rw-r--r-- | testsuites/libtests/stackchk/init.c | 6 | ||||
-rw-r--r-- | testsuites/libtests/stackchk/system.h | 6 |
4 files changed, 36 insertions, 6 deletions
diff --git a/testsuites/libtests/ftp01/ftp01.scn b/testsuites/libtests/ftp01/ftp01.scn index a3292961c8..a27da4b698 100644 --- a/testsuites/libtests/ftp01/ftp01.scn +++ b/testsuites/libtests/ftp01/ftp01.scn @@ -17,6 +17,8 @@ USER anonymous 230 User logged in. TYPE I 200 Type set to I. +SIZE a.txt +213 1102 PASV 227 Entering passive mode (127,0,0,1,4,4). RETR a.txt @@ -41,6 +43,8 @@ USER anonymous 230 User logged in. TYPE I 200 Type set to I. +SIZE b.txt +213 1102 PASV 227 Entering passive mode (127,0,0,1,4,10). RETR b.txt diff --git a/testsuites/libtests/ftp01/init.c b/testsuites/libtests/ftp01/init.c index 354c0f045a..369aebe92a 100644 --- a/testsuites/libtests/ftp01/init.c +++ b/testsuites/libtests/ftp01/init.c @@ -104,7 +104,7 @@ static void change_self_priority(void) rtems_test_assert(sc == RTEMS_SUCCESSFUL); } -static void create_file(const char *path) +static void create_file(const char *path, const void *begin, size_t size) { int rv = 0; int fd = open(path, O_WRONLY); @@ -112,8 +112,8 @@ static void create_file(const char *path) rtems_test_assert(fd >= 0); - n = write(fd, &content [0], sizeof(content)); - rtems_test_assert(n == (ssize_t) sizeof(content)); + n = write(fd, begin, size); + rtems_test_assert(n == (ssize_t) size); rv = close(fd); rtems_test_assert(rv == 0); @@ -126,15 +126,33 @@ static void copy_file(const char *src_path, const char *dest_path) int out = open(dest_path, O_WRONLY); ssize_t n_in = 0; char buf [64]; + struct stat st_in; + struct stat st_out; + + memset(&st_in, 0xff, sizeof(st_in)); + memset(&st_out, 0xff, sizeof(st_out)); rtems_test_assert(in >= 0); rtems_test_assert(out >= 0); + rv = fstat(out, &st_out); + rtems_test_assert(rv == 0); + + rtems_test_assert(st_out.st_size == 0); + while ((n_in = read(in, buf, sizeof(buf))) > 0) { ssize_t n_out = write(out, buf, (size_t) n_in); rtems_test_assert(n_out == n_in); } + rv = fstat(out, &st_out); + rtems_test_assert(rv == 0); + + rv = fstat(in, &st_in); + rtems_test_assert(rv == 0); + + rtems_test_assert(st_in.st_size == st_out.st_size); + rv = close(out); rtems_test_assert(rv == 0); @@ -189,7 +207,7 @@ static void test(void) initialize_ftpfs(); change_self_priority(); - create_file(file_a); + create_file(file_a, &content [0], sizeof(content)); copy_file(file_a, file_b); check_file(file_b); check_file_size(file_a, sizeof(content)); diff --git a/testsuites/libtests/stackchk/init.c b/testsuites/libtests/stackchk/init.c index 1551eecb37..772b039592 100644 --- a/testsuites/libtests/stackchk/init.c +++ b/testsuites/libtests/stackchk/init.c @@ -86,7 +86,11 @@ rtems_task Init( directive_failed( status, "rtems_task_delete of RTEMS_SELF" ); } -void Fatal_extension( uint32_t source, bool is_internal, uint32_t error ) +void Fatal_extension( + rtems_fatal_source source, + bool is_internal, + rtems_fatal_code error +) { if ( source != RTEMS_FATAL_SOURCE_STACK_CHECKER ) { printk( "unexpected fatal source\n" ); diff --git a/testsuites/libtests/stackchk/system.h b/testsuites/libtests/stackchk/system.h index 95babb8a0c..16b623ae2d 100644 --- a/testsuites/libtests/stackchk/system.h +++ b/testsuites/libtests/stackchk/system.h @@ -41,7 +41,11 @@ void blow_stack( void ); #define CONFIGURE_STACK_CHECKER_ENABLED -void Fatal_extension( uint32_t source, bool is_internal, uint32_t error ); +void Fatal_extension( + rtems_fatal_source source, + bool is_internal, + rtems_fatal_code error +); #define CONFIGURE_INITIAL_EXTENSIONS \ { NULL, NULL, NULL, NULL, NULL, NULL, NULL, Fatal_extension } |