From bd2055cf5a5079727168477a8c05238ff7a62b10 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 22 Jan 2026 10:40:21 -0600 Subject: [PATCH] fstests: Address -Wsign-compare warnings Most of these warnings were between int or ssize_t and size_t. In particular, various POSIX system calls like read() and write() return ssize_t and comparing that value with the sizeof a buffer is a common source of these warnings. Another common source is using an int as the iterator in a for loop with the limit being a size_t. With the type change, some printf() specifiers needed to change also. --- testsuites/fstests/fsdosfsname01/init.c | 6 +++--- testsuites/fstests/fspermission/test.c | 14 ++++++------- testsuites/fstests/fsrdwr/init.c | 2 +- testsuites/fstests/fsrename/test.c | 8 ++++---- testsuites/fstests/fsrenameexisting/test.c | 4 ++-- testsuites/fstests/fsrenamemaxlinks/test.c | 6 +++--- .../fstests/fsrenamepermexisting/test.c | 20 +++++++++---------- testsuites/fstests/fsrfsbitmap01/test.c | 15 +++++++------- testsuites/fstests/fssymlink/test.c | 14 ++++++------- testsuites/fstests/tftpfs/init.c | 12 +++++------ .../fstests/tftpfs/tftpfs_interactions.c | 4 ++-- .../fstests/tftpfs/tftpfs_udp_network_fake.c | 6 +++--- 12 files changed, 56 insertions(+), 55 deletions(-) diff --git a/testsuites/fstests/fsdosfsname01/init.c b/testsuites/fstests/fsdosfsname01/init.c index 48ae68ed6a..b43b747582 100644 --- a/testsuites/fstests/fsdosfsname01/init.c +++ b/testsuites/fstests/fsdosfsname01/init.c @@ -443,7 +443,7 @@ static void test_creating_invalid_directories( void ) "%s/%s", MOUNT_DIR, DIRECTORY_NAMES_INVALID[index] ); - rtems_test_assert( len < sizeof( dirname ) ); + rtems_test_assert( len < (int) sizeof( dirname ) ); rc = mkdir( dirname, S_IRWXU | S_IRWXG | S_IRWXO ); rtems_test_assert( rc == -1 ); } @@ -925,10 +925,10 @@ static void compare_directories( while ( dp != NULL ) { rc = snprintf(path[0], PATH_LENGTH, "%s/%s", dir0, dp->d_name); - rtems_test_assert( rc < PATH_LENGTH ); + rtems_test_assert( rc < (int) PATH_LENGTH ); rtems_test_assert( rc >= 0 ); rc = snprintf(path[1], PATH_LENGTH, "%s/%s", dir1, dp->d_name); - rtems_test_assert( rc < PATH_LENGTH ); + rtems_test_assert( rc < (int) PATH_LENGTH ); rtems_test_assert( rc >= 0 ); rc = stat( path[0] , &stat_buf[0] ); diff --git a/testsuites/fstests/fspermission/test.c b/testsuites/fstests/fspermission/test.c index b953104e9a..1175c789bd 100644 --- a/testsuites/fstests/fspermission/test.c +++ b/testsuites/fstests/fspermission/test.c @@ -290,13 +290,13 @@ static void test_permission01(void ) fd=open(file01,O_WRONLY); rtems_test_assert(fd >= 0); n=write(fd,test_data,len); - rtems_test_assert(n==len); + rtems_test_assert(n==(int)len); status=close(fd); rtems_test_assert(status==0); fd=open(file02,O_WRONLY); n=write(fd,test_data,len); - rtems_test_assert(n==len); + rtems_test_assert(n==(int)len); status=close(fd); rtems_test_assert(status==0); @@ -307,7 +307,7 @@ static void test_permission01(void ) fd=open(file01,O_RDWR); rtems_test_assert(fd >= 0); n=read(fd,data_buf,len); - rtems_test_assert(n==len); + rtems_test_assert(n==(int)len); status=close(fd); rtems_test_assert(status==0); @@ -344,7 +344,7 @@ static void test_permission01(void ) fd=open(file01,O_WRONLY); rtems_test_assert(fd >= 0); n=write(fd,test_data,len); - rtems_test_assert(n==len); + rtems_test_assert(n==(int)len); status=close(fd); rtems_test_assert(status==0); @@ -558,14 +558,14 @@ static void rename_search_permission_test (void) rtems_test_assert (status == 0); rv = snprintf (path01, sizeof(path01), "%s/%s", dir01, name01); - rtems_test_assert (rv < sizeof(path01)); + rtems_test_assert (rv < (int) sizeof(path01)); fd = creat (path01, mode); rtems_test_assert (fd >= 0); status = close (fd); rtems_test_assert (status == 0); rv = snprintf (path02, sizeof(path02), "%s/%s", dir01, name02); - rtems_test_assert (rv < sizeof(path02)); + rtems_test_assert (rv < (int) sizeof(path02)); fd = creat (path02, mode); rtems_test_assert (fd >= 0); status = close (fd); @@ -583,7 +583,7 @@ static void rename_search_permission_test (void) rtems_test_assert (status == 0); rv = snprintf (path01, sizeof(path01), "%s/%s", dir01, name01); - rtems_test_assert (rv < sizeof(path01)); + rtems_test_assert (rv < (int) sizeof(path01)); EXPECT_EQUAL (0, unlink, path01); EXPECT_EQUAL (0, unlink, path02); EXPECT_EQUAL (0, rmdir, dir01); diff --git a/testsuites/fstests/fsrdwr/init.c b/testsuites/fstests/fsrdwr/init.c index 16dbd62563..18acac73a3 100644 --- a/testsuites/fstests/fsrdwr/init.c +++ b/testsuites/fstests/fsrdwr/init.c @@ -238,7 +238,7 @@ truncate_test03 (void) char data; int n; - int i; + size_t i; char *readbuf; off_t good_size = 100; diff --git a/testsuites/fstests/fsrename/test.c b/testsuites/fstests/fsrename/test.c index e3bd0a619a..086b8f84e7 100644 --- a/testsuites/fstests/fsrename/test.c +++ b/testsuites/fstests/fsrename/test.c @@ -91,7 +91,7 @@ static void rename_opened_file_test (void) fd1 = open (name01, O_RDWR | O_CREAT, mode); rtems_test_assert (fd1 >= 0); result = write (fd1, message, strlen (message)); - rtems_test_assert (result == strlen (message)); + rtems_test_assert (result == (int) strlen (message)); EXPECT_EQUAL (0, rename, name01, name02); @@ -148,7 +148,7 @@ static void directory_test (void) rtems_test_assert (status == 0); rv = snprintf (path01, sizeof(path01), "%s/%s", dir02, name02); - rtems_test_assert (rv < sizeof(path01)); + rtems_test_assert (rv < (int) sizeof(path01)); fd = creat (path01, mode); rtems_test_assert (fd >= 0); status = close (fd); @@ -246,7 +246,7 @@ static void arg_test (void) rtems_test_assert (status == 0); rv = snprintf (path01, sizeof(path01), "%s/%s/%s", dir01, name01, name02); - rtems_test_assert (rv < sizeof(path01)); + rtems_test_assert (rv < (int) sizeof(path01)); EXPECT_ERROR (ENOENT, rename, path01, name01); /* @@ -329,7 +329,7 @@ static void filesystem_test (void) rtems_test_assert (status == 0); rv = snprintf (path01, sizeof(path01), "%s/%s", BASE_FOR_TEST, name02); - rtems_test_assert (rv < sizeof(path01)); + rtems_test_assert (rv < (int) sizeof(path01)); EXPECT_ERROR (EXDEV, rename, name01, path01); EXPECT_EQUAL (-1, unlink, path01); diff --git a/testsuites/fstests/fsrenameexisting/test.c b/testsuites/fstests/fsrenameexisting/test.c index ac62cae939..b3c32a6561 100644 --- a/testsuites/fstests/fsrenameexisting/test.c +++ b/testsuites/fstests/fsrenameexisting/test.c @@ -260,7 +260,7 @@ static void directory_test (void) rtems_test_assert (status == 0); rv = snprintf (path01, sizeof(path01), "%s/%s", dir02, dir01); - rtems_test_assert (rv < sizeof(path01)); + rtems_test_assert (rv < (int) sizeof(path01)); status = mkdir (path01, mode); rtems_test_assert (status == 0); @@ -462,4 +462,4 @@ void test (void) same_file_test (); directory_test (); arg_format_test (); -} \ No newline at end of file +} diff --git a/testsuites/fstests/fsrenamemaxlinks/test.c b/testsuites/fstests/fsrenamemaxlinks/test.c index 0bc2dec02f..bf44bbe28e 100644 --- a/testsuites/fstests/fsrenamemaxlinks/test.c +++ b/testsuites/fstests/fsrenamemaxlinks/test.c @@ -91,7 +91,7 @@ void test (void) for(i = statbuf.st_nlink; i < LINK_MAX_val; i++) { rv = snprintf (link_name, sizeof(link_name), "%s/%d", dir01, i); - rtems_test_assert (rv < sizeof(link_name)); + rtems_test_assert (rv < (int) sizeof(link_name)); status = mkdir (link_name, mode); rtems_test_assert (status == 0); @@ -101,7 +101,7 @@ void test (void) rtems_test_assert (status == 0); rv = snprintf (path01, sizeof(path01), "%s/%s", dir01, dir01); - rtems_test_assert (rv < sizeof(path01)); + rtems_test_assert (rv < (int) sizeof(path01)); EXPECT_ERROR (EMLINK, rename, dir02, path01); /* @@ -111,7 +111,7 @@ void test (void) for(i = statbuf.st_nlink; i < LINK_MAX_val; i++) { rv = snprintf (link_name, sizeof(link_name), "%s/%d", dir01, i); - rtems_test_assert (rv < sizeof(link_name)); + rtems_test_assert (rv < (int) sizeof(link_name)); status = rmdir (link_name); rtems_test_assert (status == 0); diff --git a/testsuites/fstests/fsrenamepermexisting/test.c b/testsuites/fstests/fsrenamepermexisting/test.c index 587159aee0..67d97d636a 100644 --- a/testsuites/fstests/fsrenamepermexisting/test.c +++ b/testsuites/fstests/fsrenamepermexisting/test.c @@ -127,7 +127,7 @@ static void rename_write_permission_test (void) rtems_test_assert (status == 0); rv = snprintf (path01, sizeof(path01), "../%s/%s", dir01, name02); - rtems_test_assert (rv < sizeof(path01)); + rtems_test_assert (rv < (int) sizeof(path01)); EXPECT_ERROR (EACCES, rename, name01, path01); /* @@ -144,16 +144,16 @@ static void rename_write_permission_test (void) EXPECT_EQUAL (0, unlink, name01); rv = snprintf (path01, sizeof(path01), "../%s", dir01); - rtems_test_assert (rv < sizeof(path01)); + rtems_test_assert (rv < (int) sizeof(path01)); status = chmod (path01, mode); rtems_test_assert (status == 0); rv = snprintf (path01, sizeof(path01), "../%s/%s", dir01, name01); - rtems_test_assert (rv < sizeof(path01)); + rtems_test_assert (rv < (int) sizeof(path01)); EXPECT_EQUAL (0, unlink, path01); rv = snprintf (path01, sizeof(path01), "../%s/%s", dir01, name02); - rtems_test_assert (rv < sizeof(path01)); + rtems_test_assert (rv < (int) sizeof(path01)); EXPECT_EQUAL (0, unlink, path01); status = chdir (".."); @@ -218,14 +218,14 @@ static void rename_search_permission_test (void) rtems_test_assert (status == 0); rv = snprintf (path01, sizeof(path01), "%s/%s", dir01, name01); - rtems_test_assert (rv < sizeof(path01)); + rtems_test_assert (rv < (int) sizeof(path01)); fd = creat (path01, mode); rtems_test_assert (fd >= 0); status = close (fd); rtems_test_assert (status == 0); rv = snprintf (path02, sizeof(path02), "%s/%s", dir01, name02); - rtems_test_assert (rv < sizeof(path02)); + rtems_test_assert (rv < (int) sizeof(path02)); fd = creat (path02, mode); rtems_test_assert (fd >= 0); status = close (fd); @@ -249,7 +249,7 @@ static void rename_search_permission_test (void) rtems_test_assert (status == 0); rv = snprintf (path01, sizeof(path01), "%s/%s", dir02, name01); - rtems_test_assert (rv < sizeof(path01)); + rtems_test_assert (rv < (int) sizeof(path01)); EXPECT_ERROR (EACCES, rename, path01, path02); /* @@ -269,7 +269,7 @@ static void rename_search_permission_test (void) rtems_test_assert (status == 0); rv = snprintf (path01, sizeof(path01), "%s/%s", dir01, name01); - rtems_test_assert (rv < sizeof(path01)); + rtems_test_assert (rv < (int) sizeof(path01)); EXPECT_EQUAL (0, unlink, path01); EXPECT_EQUAL (0, unlink, path02); EXPECT_EQUAL (0, rmdir, dir01); @@ -326,7 +326,7 @@ static void rename_permission03 (void) rtems_test_assert (status == 0); rv = snprintf (path01, sizeof(path01), "%s/%s", dir01, name01); - rtems_test_assert (rv < sizeof(path01)); + rtems_test_assert (rv < (int) sizeof(path01)); fd = creat (path01, mode); rtems_test_assert (fd >= 0); status = close (fd); @@ -370,7 +370,7 @@ static void rename_permission03 (void) rtems_test_assert (status == 0); rv = snprintf (path01, sizeof(path01), "%s/%s", dir01, name01); - rtems_test_assert (rv < sizeof(path01)); + rtems_test_assert (rv < (int) sizeof(path01)); fd = creat (path01, mode); rtems_test_assert (fd >= 0); status = close (fd); diff --git a/testsuites/fstests/fsrfsbitmap01/test.c b/testsuites/fstests/fsrfsbitmap01/test.c index 5129fc17bc..1c2171dac0 100644 --- a/testsuites/fstests/fsrfsbitmap01/test.c +++ b/testsuites/fstests/fsrfsbitmap01/test.c @@ -97,7 +97,7 @@ rtems_rfs_bitmap_ut_alloc_seq_test (rtems_rfs_bitmap_control* control, size_t size) { bool state; - int i; + size_t i; int rc; printf (" %2d. Set all bits\n", test); @@ -124,7 +124,8 @@ rtems_rfs_bitmap_ut_alloc_seq_test (rtems_rfs_bitmap_control* control, } if (state) { - printf (" %2d. Cleared bit still set: bit = %" PRId32 "\n", test, bit + i); + printf (" %2d. Cleared bit still set: bit = %zu\n", test, bit + i); + return false; } } @@ -239,7 +240,7 @@ rtems_rfs_bitmap_ut_test_bitmap (size_t size) rtems_rfs_exit_on_error (rc, !result, &control, buffer.buffer); rc = rtems_rfs_bitmap_map_alloc (&control, size - 1, &result, &bit); - result = result && (bit == (size - 1)); + result = result && ((size_t) bit == (size - 1)); printf (" 4. Find bit (size - 1) with seed = (size - 1) (%zu): %s (%s): bit = %" PRId32 "\n", size - 1, result ? "pass" : "FAIL", strerror (rc), bit); rtems_rfs_exit_on_error (rc, !result, &control, buffer.buffer); @@ -309,7 +310,7 @@ rtems_rfs_bitmap_ut_test_bitmap (size_t size) rtems_rfs_exit_on_error (rc, false, &control, buffer.buffer); rc = rtems_rfs_bitmap_map_alloc (&control, 0, &result, &bit); - result = result && (bit == (size - 1)); + result = result && ((size_t) bit == (size - 1)); printf (" 15. Find bit with seed = 0: %s (%s): bit = %" PRId32 "\n", result ? "pass" : "FAIL", strerror (rc), bit); rtems_rfs_exit_on_error (rc, !result, &control, buffer.buffer); @@ -330,7 +331,7 @@ rtems_rfs_bitmap_ut_test_bitmap (size_t size) rtems_rfs_exit_on_error (rc, false, &control, buffer.buffer); rc = rtems_rfs_bitmap_map_alloc (&control, size / 2, &result, &bit); - result = result && (bit == (size - 1)); + result = result && ((size_t) bit == (size - 1)); printf (" 19. Find bit with seed = (size / 2) (%zu): %s (%s): bit = %" PRId32 "\n", size / 2, result ? "pass" : "FAIL", strerror (rc), bit); rtems_rfs_exit_on_error (rc, !result, &control, buffer.buffer); @@ -350,7 +351,7 @@ rtems_rfs_bitmap_ut_test_bitmap (size_t size) size - 1, rc == 0 ? "pass" : "FAIL", strerror (rc)); rc = rtems_rfs_bitmap_map_alloc (&control, (size / 2) - 1, &result, &bit); - result = result && (bit == (size - 1)); + result = result && ((size_t) bit == (size - 1)); printf (" 23. Find bit with seed = ((size / 2) - 1) (%zu): %s (%s): bit = %" PRId32 "\n", (size / 2) - 1, result ? "pass" : "FAIL", strerror (rc), bit); rtems_rfs_exit_on_error (rc, !result, &control, buffer.buffer); @@ -391,7 +392,7 @@ rtems_rfs_bitmap_ut_test_bitmap (size_t size) first_bit, last_bit, rc == 0 ? "PASS" : "FAIL", strerror (rc)); clear = rtems_rfs_bitmap_map_free (&control); - result = clear == (last_bit - first_bit); + result = clear == (size_t) (last_bit - first_bit); printf (" 27. Check free count is %zu: %" PRId32 ": %s (%s)\n", clear, last_bit - first_bit, result ? "pass" : "FAIL", strerror (rc)); diff --git a/testsuites/fstests/fssymlink/test.c b/testsuites/fstests/fssymlink/test.c index e0e608c9ae..064273fed9 100644 --- a/testsuites/fstests/fssymlink/test.c +++ b/testsuites/fstests/fssymlink/test.c @@ -61,7 +61,7 @@ static void symlink_test01(void ) int status; struct stat statbuf; size_t len=strlen(file01); - size_t name_len; + ssize_t name_len; printf("Create a file named %s\n",file01); @@ -86,7 +86,7 @@ static void symlink_test01(void ) puts("call readlink "); name_len=readlink(symlink_file01,name,sizeof(name)-1); - rtems_test_assert(name_len!=-1); + rtems_test_assert(name_len != -1); name[name_len]='\0'; rtems_test_assert(!strncmp(name,file01,name_len)); puts(name); @@ -298,11 +298,11 @@ static void symlink_rename_test (void) rtems_test_assert (status == 0); rv = snprintf (path01, sizeof(path01), "%s/test", symlink01); - rtems_test_assert (rv < sizeof(path01)); + rtems_test_assert (rv < (int) sizeof(path01)); EXPECT_ERROR (ELOOP, rename, path01, name01); rv = snprintf (path01, sizeof(path01), "%s/test", symlink02); - rtems_test_assert (rv < sizeof(path01)); + rtems_test_assert (rv < (int) sizeof(path01)); EXPECT_ERROR (ELOOP, rename, path01, name01); /* @@ -331,11 +331,11 @@ static void symlink_rename_test (void) rtems_test_assert (status == 0); rv = snprintf (path01, sizeof(path01), "%s/test", symlink01); - rtems_test_assert (rv < sizeof(path01)); + rtems_test_assert (rv < (int) sizeof(path01)); EXPECT_ERROR (ELOOP, rename, name01, path01); rv = snprintf (path01, sizeof(path01), "%s/test", symlink02); - rtems_test_assert (rv < sizeof(path01)); + rtems_test_assert (rv < (int) sizeof(path01)); EXPECT_ERROR (ELOOP, rename, name01, path01); /* @@ -402,7 +402,7 @@ static void symlink_rename_self (void) rtems_test_assert (status == 0); rv = snprintf (path01, sizeof(path01), "%s/%s", dir01, name02); - rtems_test_assert (rv < sizeof(path01)); + rtems_test_assert (rv < (int) sizeof(path01)); status = link (name01, path01); rtems_test_assert (status == 0); diff --git a/testsuites/fstests/tftpfs/init.c b/testsuites/fstests/tftpfs/init.c index 0acc69d38c..4546d4bc5c 100644 --- a/testsuites/fstests/tftpfs/init.c +++ b/testsuites/fstests/tftpfs/init.c @@ -345,7 +345,7 @@ static int read_tftp_file( if ( *fd >= 0 ) { data_buffer = malloc( buffer_size ); - while ( bytes > 0 && max_bytes >= bytes ) { + while ( bytes > 0 && (ssize_t) max_bytes >= bytes ) { errno = 0; bytes = read( *fd, @@ -491,7 +491,7 @@ static int write_tftp_file( ); break; } - } while( bytes_total < file_size ); + } while( (size_t) bytes_total < file_size ); free( data_buffer ); } /* if */ @@ -635,8 +635,8 @@ static int rdwt_tftp_client_file( /* Write file */ do { /* Try also to write files with 0 bytes size */ - bytes = ( file_size - bytes_total >= buffer_size ) ? - buffer_size : file_size - bytes_total; + bytes = ( (size_t) (file_size - bytes_total) >= buffer_size ) ? + buffer_size : (size_t) (file_size - bytes_total); for ( i = 0; i < bytes; ++i ) { data_buffer[i] = get_file_content( bytes_total + i ); } @@ -5315,7 +5315,7 @@ T_TEST_CASE_FIXTURE( read_file_windowsize_trouble, &fixture_small_opt_size ) tftpfs_ipv4_loopback, true ); - for ( i = 0; i < RTEMS_ARRAY_SIZE( pkg_sequence ); ++i ) { + for ( i = 0; i < (int) RTEMS_ARRAY_SIZE( pkg_sequence ); ++i ) { if ( pkg_sequence[i] == 0 ) { block_num = pkg_sequence[i]; _Tftp_Add_interaction_recv_nothing( @@ -5892,7 +5892,7 @@ T_TEST_CASE_FIXTURE( write_file_windowsize_trouble, &fixture_small_opt_size ) sizeof( options ), true ); - for ( i = 0; i < RTEMS_ARRAY_SIZE( pkg_sequence ); ++i ) { + for ( i = 0; i < (int) RTEMS_ARRAY_SIZE( pkg_sequence ); ++i ) { if ( pkg_sequence[i] == 0 ) { _Tftp_Add_interaction_recv_nothing( TFTP_FIRST_FD, diff --git a/testsuites/fstests/tftpfs/tftpfs_interactions.c b/testsuites/fstests/tftpfs/tftpfs_interactions.c index 9ab026c5da..e6159a6a11 100644 --- a/testsuites/fstests/tftpfs/tftpfs_interactions.c +++ b/testsuites/fstests/tftpfs/tftpfs_interactions.c @@ -321,7 +321,7 @@ static bool interact_sendto_common( Tftp_Action *act, void *data ) return false; } - act->data.sendto.result = d->result ? act->data.sendto.len : -1; + act->data.sendto.result = d->result ? (int) act->data.sendto.len : -1; return true; } @@ -710,7 +710,7 @@ static bool interact_recvfrom_common( act->data.recvfrom.src_addr_str[ sizeof( act->data.recvfrom.src_addr_str ) - 1] = '\0'; act->data.recvfrom.src_port = d->src_port; - act->data.recvfrom.result = d->result ? actual_size : -1; + act->data.recvfrom.result = d->result ? (int) actual_size : -1; return true; } diff --git a/testsuites/fstests/tftpfs/tftpfs_udp_network_fake.c b/testsuites/fstests/tftpfs/tftpfs_udp_network_fake.c index 82e918b316..bbc174d802 100644 --- a/testsuites/fstests/tftpfs/tftpfs_udp_network_fake.c +++ b/testsuites/fstests/tftpfs/tftpfs_udp_network_fake.c @@ -221,7 +221,7 @@ static void log_hex_dump( const void *buf, size_t len ) char hex[2 * per_line + 4]; char chars[per_line + 1]; char *hexpos; - int i; + size_t i; chars[per_line] = '\0'; do { @@ -750,7 +750,7 @@ struct hostent *gethostbyname( const char *name ) }; struct hostent *result = NULL; uint8_t *ipv4_addr; - int i; + size_t i; for ( i = 0; i < RTEMS_ARRAY_SIZE( hosts ); ++i ) { if ( strcmp( hosts[i].h_name, name ) == 0 ) { @@ -897,7 +897,7 @@ int setsockopt( sockfd, ( level == SOL_SOCKET ) ? "SOL_SOCKET" : "UNKONWN", ( optname == SO_RCVTIMEO ) ? "SO_RCVTIMEO" : "UNKONWN", - ( i < MAX_SOCKET_FD ) ? control->receive_timeout_ms[i] : -1, + ( i < MAX_SOCKET_FD ) ? (int) control->receive_timeout_ms[i] : -1, result );