osmith has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/libosmocore/+/40864?usp=email )


Change subject: tests: fix for debian 13 armv7l
......................................................................

tests: fix for debian 13 armv7l

In Debian 13 armv7l, time_t and suseconds_t are "long long int" instead
of "long unsigned int" as seen on x86_64 and aarch64. This causes the
the tdef, time_cc and iuup tests to fail. Example:

  -sys={0.000000}, clock_override_set
  +sys={4206924.000000}, (null)
   _tinit_timeout_retrans_transport_prim_cb()
   Transport: DL len=22: e0 00 df 99 16 00 51 67 3c 01 27 00 00 82 00 00 00 17 
10 00 01 00
  -sys={1.000000}, clock_override_set
  +sys={4206924.000001}, (null)
   _tinit_timeout_retrans_transport_prim_cb()
   Transport: DL len=22: e0 00 df 99 16 00 51 67 3c 01 27 00 00 82 00 00 00 17 
10 00 01 00
  -sys={2.000000}, clock_override_set
  +sys={4206924.000002}, (null)
  …

Furthermore it causes compiler warnings such as:

  iuup/iuup_test.c: In function 'clock_override_set':
  iuup/iuup_test.c:169:24: warning: format '%lu' expects argument of type 'long 
unsigned int', but argument 2 has type '__time64_t' {aka 'long long int'} 
[-Wformat=]
    169 |         printf("sys={%lu.%06lu}, %s\n", 
osmo_gettimeofday_override_time.tv_sec,
        |                      ~~^                
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        |                        |                                              
 |
        |                        long unsigned int                              
 __time64_t {aka long long int}
        |                      %llu
  iuup/iuup_test.c:169:30: warning: format '%lu' expects argument of type 'long 
unsigned int', but argument 3 has type '__suseconds64_t' {aka 'long long int'} 
[-Wformat=]
    169 |         printf("sys={%lu.%06lu}, %s\n", 
osmo_gettimeofday_override_time.tv_sec,
        |                          ~~~~^
        |                              |
        |                              long unsigned int
        |                          %06llu
    170 |                 osmo_gettimeofday_override_time.tv_usec, __func__);
        |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        |                                                |
        |                                                __suseconds64_t {aka 
long long int}
    CCLD     iuup/iuup_test

Fix it by casting to "long unsigned int".

Related: OS#6828
Change-Id: I9580606d66bb0f891c0ef0179f99e2b901a8cf1c
---
M tests/iuup/iuup_test.c
M tests/tdef/tdef_test.c
M tests/time_cc/time_cc_test.c
3 files changed, 5 insertions(+), 4 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/64/40864/1

diff --git a/tests/iuup/iuup_test.c b/tests/iuup/iuup_test.c
index 7798aa2..725a7d9 100644
--- a/tests/iuup/iuup_test.c
+++ b/tests/iuup/iuup_test.c
@@ -163,8 +163,8 @@
 {
        osmo_gettimeofday_override_time.tv_sec = sec + usec / (1000*1000);
        osmo_gettimeofday_override_time.tv_usec = usec % (1000*1000);
-       printf("sys={%lu.%06lu}, %s\n", osmo_gettimeofday_override_time.tv_sec,
-               osmo_gettimeofday_override_time.tv_usec, __func__);
+       printf("sys={%lu.%06lu}, %s\n", (unsigned int long) 
osmo_gettimeofday_override_time.tv_sec,
+               (unsigned int long) osmo_gettimeofday_override_time.tv_usec, 
__func__);
 }

 void test_crc(void)
diff --git a/tests/tdef/tdef_test.c b/tests/tdef/tdef_test.c
index 710a4aa..1c2b04d 100644
--- a/tests/tdef/tdef_test.c
+++ b/tests/tdef/tdef_test.c
@@ -335,7 +335,8 @@
        }

        osmo_timer_remaining(&fi->timer, &osmo_gettimeofday_override_time, 
&remaining);
-       printf(", %lu.%06lu s remaining\n", remaining.tv_sec, 
remaining.tv_usec);
+       printf(", %lu.%06lu s remaining\n", (unsigned int long) 
remaining.tv_sec,
+              (unsigned int long) remaining.tv_usec);
 }


diff --git a/tests/time_cc/time_cc_test.c b/tests/time_cc/time_cc_test.c
index e4a5aaf..9d1ab5c 100644
--- a/tests/time_cc/time_cc_test.c
+++ b/tests/time_cc/time_cc_test.c
@@ -165,7 +165,7 @@
                osmo_clock_override_add(CLOCK_MONOTONIC, ms / 1000, 
(uint64_t)(ms % 1000) * 1000000); \
                osmo_gettimeofday_override_add(ms / 1000, (uint64_t)(ms % 1000) 
* 1000); \
                printf("%d ADD_MILLISECS(" #ms ") --> %ld.%03ld", 
my_obj.flag_cc_round.flag_state, \
-                      now->tv_sec, now->tv_nsec/1000000); \
+                      (unsigned int long) now->tv_sec, now->tv_nsec/1000000); \
                printf("\n"); \
        } while (0)
 

--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/40864?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: newchange
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I9580606d66bb0f891c0ef0179f99e2b901a8cf1c
Gerrit-Change-Number: 40864
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osm...@sysmocom.de>

Reply via email to